summaryrefslogtreecommitdiff
path: root/src/socket_base.cpp
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@fastmq.commkdir>2009-08-09 16:12:09 +0200
committerMartin Sustrik <sustrik@fastmq.commkdir>2009-08-09 16:12:09 +0200
commit9f1f823b7b69ced56bdb0416feef71230cc7fd55 (patch)
treee5aa6ca2b943c62afcc4ca427102693d8f88a14e /src/socket_base.cpp
parent3147ff8523d9736039c4582f5f62c323b23940d1 (diff)
zmq_listener/zmq_connecter implemented
Diffstat (limited to 'src/socket_base.cpp')
-rw-r--r--src/socket_base.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/socket_base.cpp b/src/socket_base.cpp
index ac3b4b9..c179a93 100644
--- a/src/socket_base.cpp
+++ b/src/socket_base.cpp
@@ -25,6 +25,7 @@
#include "app_thread.hpp"
#include "err.hpp"
#include "zmq_listener.hpp"
+#include "zmq_connecter.hpp"
#include "io_thread.hpp"
#include "config.hpp"
@@ -127,7 +128,6 @@ int zmq::socket_base_t::setsockopt (int option_, void *optval_,
int zmq::socket_base_t::bind (const char *addr_)
{
- // TODO: The taskset should be taken from socket options.
zmq_listener_t *listener =
new zmq_listener_t (choose_io_thread (affinity), this);
int rc = listener->set_address (addr_);
@@ -141,7 +141,15 @@ int zmq::socket_base_t::bind (const char *addr_)
int zmq::socket_base_t::connect (const char *addr_)
{
- zmq_assert (false);
+ zmq_connecter_t *connecter =
+ new zmq_connecter_t (choose_io_thread (affinity), this);
+ int rc = connecter->set_address (addr_);
+ if (rc != 0)
+ return -1;
+
+ send_plug (connecter);
+ send_own (this, connecter);
+ return 0;
}
int zmq::socket_base_t::subscribe (const char *criteria_)