summaryrefslogtreecommitdiff
path: root/src/session.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/session.cpp')
-rw-r--r--src/session.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/session.cpp b/src/session.cpp
index 912cfa8..cbcc883 100644
--- a/src/session.cpp
+++ b/src/session.cpp
@@ -65,9 +65,13 @@ void zmq::session_t::flush ()
out_pipe->flush ();
}
-void zmq::session_t::detach ()
+void zmq::session_t::detach (owned_t *reconnecter_)
{
- // TODO: Start reconnection process here.
+ // Plug in the reconnecter object if any.
+ if (reconnecter_) {
+ send_plug (reconnecter_);
+ send_own (owner, reconnecter_);
+ }
// Engine is terminating itself. No need to deallocate it from here.
engine = NULL;
@@ -77,6 +81,21 @@ void zmq::session_t::detach ()
term ();
}
+zmq::io_thread_t *zmq::session_t::get_io_thread ()
+{
+ return choose_io_thread (options.affinity);
+}
+
+class zmq::socket_base_t *zmq::session_t::get_owner ()
+{
+ return owner;
+}
+
+const char *zmq::session_t::get_session_name ()
+{
+ return name.c_str ();
+}
+
void zmq::session_t::attach_pipes (class reader_t *inpipe_,
class writer_t *outpipe_)
{