summaryrefslogtreecommitdiff
path: root/src/push.hpp
diff options
context:
space:
mode:
authorPieter Hintjens <ph@imatix.com>2010-08-04 14:38:56 +0200
committerPieter Hintjens <ph@imatix.com>2010-08-04 14:38:56 +0200
commit11a410b65827a3958fb5f417c29e95c1953a0b42 (patch)
tree61b56b2fe34f2318c4fb3a1c56682aedee295bad /src/push.hpp
parent544b36da68729daffefa8f40d2efed5945851a01 (diff)
Renamed ZMQ_UPSTREAM to ZMQ_PULL, and ZMQ_DOWNSTREAM to ZMQ_PUSH. Left the old
definitions as aliases, to be removed in release 3.0. Also renamed the source files implementing these two socket types. This change does not break existing applications nor bindings, but allows us to fix the documentation and user guide now, rather than keeping the old (confusing) names.
Diffstat (limited to 'src/push.hpp')
-rw-r--r--src/push.hpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/push.hpp b/src/push.hpp
new file mode 100644
index 0000000..b3c8d87
--- /dev/null
+++ b/src/push.hpp
@@ -0,0 +1,61 @@
+/*
+ Copyright (c) 2007-2010 iMatix Corporation
+
+ This file is part of 0MQ.
+
+ 0MQ is free software; you can redistribute it and/or modify it under
+ the terms of the Lesser GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ 0MQ is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ Lesser GNU General Public License for more details.
+
+ You should have received a copy of the Lesser GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef __ZMQ_PUSH_HPP_INCLUDED__
+#define __ZMQ_PUSH_HPP_INCLUDED__
+
+#include "socket_base.hpp"
+#include "lb.hpp"
+
+namespace zmq
+{
+
+ class push_t : public socket_base_t
+ {
+ public:
+
+ push_t (class app_thread_t *parent_);
+ ~push_t ();
+
+ // Overloads of functions from socket_base_t.
+ void xattach_pipes (class reader_t *inpipe_, class writer_t *outpipe_,
+ const blob_t &peer_identity_);
+ 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_);
+ void xrevive (class writer_t *pipe_);
+ int xsetsockopt (int option_, const void *optval_, size_t optvallen_);
+ int xsend (zmq_msg_t *msg_, int flags_);
+ int xrecv (zmq_msg_t *msg_, int flags_);
+ bool xhas_in ();
+ bool xhas_out ();
+
+ private:
+
+ // Load balancer managing the outbound pipes.
+ lb_t lb;
+
+ push_t (const push_t&);
+ void operator = (const push_t&);
+ };
+
+}
+
+#endif