summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@250bpm.com>2011-01-07 12:59:48 +0100
committerMartin Sustrik <sustrik@250bpm.com>2011-01-07 12:59:48 +0100
commit8e0049e2fb60d31c07786fffe39fdc9c63369dfa (patch)
tree10bff86ee2c89b986899b593074509eb1e7a4759
parent08cd2ce05da74143b6154f7d665756870077c38d (diff)
Disable sending messages on SUB socket
The ability was inherited from XSUB socket. Now it's properly disabled. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
-rw-r--r--src/sub.cpp15
-rw-r--r--src/sub.hpp2
2 files changed, 16 insertions, 1 deletions
diff --git a/src/sub.cpp b/src/sub.cpp
index d2b4f96..cde8fa6 100644
--- a/src/sub.cpp
+++ b/src/sub.cpp
@@ -51,7 +51,7 @@ int zmq::sub_t::xsetsockopt (int option_, const void *optval_,
// Pass it further on in the stack.
int err = 0;
- int rc = xsend (&msg, 0);
+ int rc = xsub_t::xsend (&msg, 0);
if (rc != 0)
err = errno;
zmq_msg_close (&msg);
@@ -59,3 +59,16 @@ int zmq::sub_t::xsetsockopt (int option_, const void *optval_,
errno = err;
return rc;
}
+
+int zmq::sub_t::xsend (zmq_msg_t *msg_, int options_)
+{
+ // Overload the XSUB's send.
+ errno = ENOTSUP;
+ return -1;
+}
+
+bool zmq::sub_t::xhas_out ()
+{
+ // Overload the XSUB's send.
+ return false;
+}
diff --git a/src/sub.hpp b/src/sub.hpp
index 44fbc9c..6ed2c12 100644
--- a/src/sub.hpp
+++ b/src/sub.hpp
@@ -35,6 +35,8 @@ namespace zmq
protected:
int xsetsockopt (int option_, const void *optval_, size_t optvallen_);
+ int xsend (zmq_msg_t *msg_, int options_);
+ bool xhas_out ();
private: