From 2cef05d86976784f4bc1083cb0fa548e267ac132 Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Tue, 15 Dec 2009 17:49:40 +0100 Subject: reconnection mechanism added to tcp transport --- src/zmq_listener_init.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/zmq_listener_init.cpp') diff --git a/src/zmq_listener_init.cpp b/src/zmq_listener_init.cpp index 0c9f0ee..a463dc8 100644 --- a/src/zmq_listener_init.cpp +++ b/src/zmq_listener_init.cpp @@ -29,7 +29,7 @@ zmq::zmq_listener_init_t::zmq_listener_init_t (io_thread_t *parent_, has_peer_identity (false) { // Create associated engine object. - engine = new zmq_engine_t (parent_, fd_, options); + engine = new zmq_engine_t (parent_, fd_, options, false, NULL); zmq_assert (engine); } @@ -93,8 +93,11 @@ void zmq::zmq_listener_init_t::flush () term (); } -void zmq::zmq_listener_init_t::detach () +void zmq::zmq_listener_init_t::detach (owned_t *reconnecter_) { + // On the listening side of the connection we are never reconnecting. + zmq_assert (reconnecter_ == NULL); + // This function is called by engine when disconnection occurs. // The engine will destroy itself, so we just drop the pointer here and // start termination of the init object. @@ -102,6 +105,21 @@ void zmq::zmq_listener_init_t::detach () term (); } +zmq::io_thread_t *zmq::zmq_listener_init_t::get_io_thread () +{ + return choose_io_thread (options.affinity); +} + +class zmq::socket_base_t *zmq::zmq_listener_init_t::get_owner () +{ + return owner; +} + +const char *zmq::zmq_listener_init_t::get_session_name () +{ + zmq_assert (false); +} + void zmq::zmq_listener_init_t::process_plug () { zmq_assert (engine); -- cgit v1.2.3