diff options
author | Martin Sustrik <sustrik@250bpm.com> | 2010-12-04 23:14:38 +0100 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2010-12-04 23:14:38 +0100 |
commit | c80e7b80cc726ca7c29493c2553c8d19792bb6e5 (patch) | |
tree | 9c740ee660e900766a6f7d7e8a48bb09a6b72c4b /src/sub.hpp | |
parent | abc8b5e40c55deb96e7674b15629f2affa4eb92a (diff) |
XPUB and XSUB socket types added.
These are just placeholders. At the moment XPUB behaves th same
as PUB and XSUB as SUB.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Diffstat (limited to 'src/sub.hpp')
-rw-r--r-- | src/sub.hpp | 38 |
1 files changed, 2 insertions, 36 deletions
diff --git a/src/sub.hpp b/src/sub.hpp index 3f8ced0..0ea1fc4 100644 --- a/src/sub.hpp +++ b/src/sub.hpp @@ -20,54 +20,20 @@ #ifndef __ZMQ_SUB_HPP_INCLUDED__ #define __ZMQ_SUB_HPP_INCLUDED__ -#include "../include/zmq.h" - -#include "trie.hpp" -#include "socket_base.hpp" -#include "fq.hpp" +#include "xsub.hpp" namespace zmq { - class sub_t : public socket_base_t + class sub_t : public xsub_t { public: sub_t (class ctx_t *parent_, uint32_t tid_); ~sub_t (); - protected: - - // Overloads of functions from socket_base_t. - void xattach_pipes (class reader_t *inpipe_, class writer_t *outpipe_, - const blob_t &peer_identity_); - int xsetsockopt (int option_, const void *optval_, size_t optvallen_); - int xrecv (zmq_msg_t *msg_, int flags_); - bool xhas_in (); - private: - // Hook into the termination process. - void process_term (int linger_); - - // Check whether the message matches at least one subscription. - bool match (zmq_msg_t *msg_); - - // Fair queueing object for inbound pipes. - fq_t fq; - - // The repository of subscriptions. - trie_t subscriptions; - - // If true, 'message' contains a matching message to return on the - // next recv call. - bool has_message; - zmq_msg_t message; - - // If true, part of a multipart message was already received, but - // there are following parts still waiting. - bool more; - sub_t (const sub_t&); void operator = (const sub_t&); }; |