summaryrefslogtreecommitdiff
path: root/src/zmq_listener.cpp
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@fastmq.commkdir>2009-08-12 09:40:16 +0200
committerMartin Sustrik <sustrik@fastmq.commkdir>2009-08-12 09:40:16 +0200
commit059beca59d39d90a8ee0e1b07f840994962ea89e (patch)
tree007a5d86450c543bb9a362a844ee271115b68c54 /src/zmq_listener.cpp
parentbda766ab401b6c565fe9c2d0bc80c11bbbe84488 (diff)
listener/connecter/init/session added
Diffstat (limited to 'src/zmq_listener.cpp')
-rw-r--r--src/zmq_listener.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/zmq_listener.cpp b/src/zmq_listener.cpp
index 463a1dd..c990468 100644
--- a/src/zmq_listener.cpp
+++ b/src/zmq_listener.cpp
@@ -18,12 +18,15 @@
*/
#include "zmq_listener.hpp"
-#include "zmq_engine.hpp"
+#include "zmq_init.hpp"
#include "io_thread.hpp"
#include "err.hpp"
-zmq::zmq_listener_t::zmq_listener_t (io_thread_t *parent_, object_t *owner_) :
- io_object_t (parent_, owner_)
+zmq::zmq_listener_t::zmq_listener_t (io_thread_t *parent_, object_t *owner_,
+ const options_t &options_) :
+ owned_t (parent_, owner_),
+ io_object_t (parent_),
+ options (options_)
{
}
@@ -46,7 +49,7 @@ void zmq::zmq_listener_t::process_plug ()
handle = add_fd (tcp_listener.get_fd ());
set_pollin (handle);
- io_object_t::process_plug ();
+ owned_t::process_plug ();
}
void zmq::zmq_listener_t::process_unplug ()
@@ -63,14 +66,12 @@ void zmq::zmq_listener_t::in_event ()
if (fd == retired_fd)
return;
- // TODO
- zmq_assert (false);
-
-/*
- object_t *engine = new zmq_engine_t (choose_io_thread (0), owner);
- send_plug (engine);
- send_own (owner, engine);
-*/
+ // Create an init object.
+ io_thread_t *io_thread = choose_io_thread (options.affinity);
+ zmq_init_t *init = new zmq_init_t (io_thread, owner, fd, false, options);
+ zmq_assert (init);
+ send_plug (init);
+ send_own (owner, init);
}