summaryrefslogtreecommitdiff
path: root/src/dispatcher.hpp
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@fastmq.commkdir>2009-11-21 20:59:55 +0100
committerMartin Sustrik <sustrik@fastmq.commkdir>2009-11-21 20:59:55 +0100
commit0e9ab2e8a3f5bc22f2c331c14236a2918a5512a8 (patch)
treec91f1e131a4a84a374c466f147958c5971f36ad7 /src/dispatcher.hpp
parent14f2fecdcd9732fe741c211138a4ba327816a937 (diff)
inproc transport - initial commit
Diffstat (limited to 'src/dispatcher.hpp')
-rw-r--r--src/dispatcher.hpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/dispatcher.hpp b/src/dispatcher.hpp
index 23b6a33..8364d4d 100644
--- a/src/dispatcher.hpp
+++ b/src/dispatcher.hpp
@@ -97,6 +97,11 @@ namespace zmq
void register_pipe (class pipe_t *pipe_);
void unregister_pipe (class pipe_t *pipe_);
+ // Management of inproc endpoints.
+ int register_endpoint (const char *addr_, class socket_base_t *socket_);
+ void unregister_endpoints (class socket_base_t *socket_);
+ class socket_base_t *find_endpoint (const char *addr_);
+
private:
~dispatcher_t ();
@@ -149,6 +154,13 @@ namespace zmq
// and 'terminated' flag).
mutex_t term_sync;
+ // List of inproc endpoints within this context.
+ typedef std::map <std::string, class socket_base_t*> endpoints_t;
+ endpoints_t endpoints;
+
+ // Synchronisation of access to the list of inproc endpoints.
+ mutex_t endpoints_sync;
+
dispatcher_t (const dispatcher_t&);
void operator = (const dispatcher_t&);
};