summaryrefslogtreecommitdiff
path: root/src/pub.hpp
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@fastmq.commkdir>2009-09-21 14:39:59 +0200
committerMartin Sustrik <sustrik@fastmq.commkdir>2009-09-21 14:39:59 +0200
commitcb1b6fe32cbf3c7cf5961bb4156f2de743693a3a (patch)
treefad2a866ccb543fd4676c4539c68fb32c52dc3a3 /src/pub.hpp
parent7668b246fc3cf4a2a3b3ee9b1283ad8a4b12ac4f (diff)
initial version of req/rep sockets
Diffstat (limited to 'src/pub.hpp')
-rw-r--r--src/pub.hpp24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/pub.hpp b/src/pub.hpp
index 2f03b8e..8255c6f 100644
--- a/src/pub.hpp
+++ b/src/pub.hpp
@@ -21,6 +21,7 @@
#define __ZMQ_PUB_INCLUDED__
#include "socket_base.hpp"
+#include "yarray.hpp"
namespace zmq
{
@@ -32,8 +33,27 @@ namespace zmq
pub_t (class app_thread_t *parent_);
~pub_t ();
- // Overloads of API functions from socket_base_t.
- int recv (struct zmq_msg_t *msg_, int flags_);
+ // Overloads of functions from socket_base_t.
+ bool xrequires_in ();
+ bool xrequires_out ();
+ void xattach_pipes (class reader_t *inpipe_, class writer_t *outpipe_);
+ void xdetach_inpipe (class reader_t *pipe_);
+ void xdetach_outpipe (class writer_t *pipe_);
+ void xkill (class reader_t *pipe_);
+ void xrevive (class reader_t *pipe_);
+ int xsetsockopt (int option_, const void *optval_, size_t optvallen_);
+ int xsend (struct zmq_msg_t *msg_, int flags_);
+ int xflush ();
+ int xrecv (struct zmq_msg_t *msg_, int flags_);
+
+ private:
+
+ // Outbound pipes, i.e. those the socket is sending messages to.
+ typedef yarray_t <class writer_t> out_pipes_t;
+ out_pipes_t out_pipes;
+
+ pub_t (const pub_t&);
+ void operator = (const pub_t&);
};
}