summaryrefslogtreecommitdiff
path: root/src/io_thread.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/io_thread.hpp')
-rw-r--r--src/io_thread.hpp27
1 files changed, 6 insertions, 21 deletions
diff --git a/src/io_thread.hpp b/src/io_thread.hpp
index 585a28b..43ee19e 100644
--- a/src/io_thread.hpp
+++ b/src/io_thread.hpp
@@ -23,7 +23,6 @@
#include <vector>
#include "object.hpp"
-#include "i_thread.hpp"
#include "i_poller.hpp"
#include "i_poll_events.hpp"
#include "fd_signaler.hpp"
@@ -34,26 +33,22 @@ namespace zmq
// Generic part of the I/O thread. Polling-mechanism-specific features
// are implemented in separate "polling objects".
- class io_thread_t : public object_t, public i_poll_events, public i_thread
+ class io_thread_t : public object_t, public i_poll_events
{
public:
io_thread_t (class context_t *context_, int thread_slot_);
+ // Clean-up. If the thread was started, it's neccessary to call 'stop'
+ // before invoking destructor. Otherwise the destructor would hang up.
+ ~io_thread_t ();
+
// Launch the physical thread.
void start ();
// Ask underlying thread to stop.
void stop ();
- // Wait till undelying thread terminates.
- void join ();
-
- // To be called when the whole infrastrucure is being closed (zmq_term).
- // It's vital to call the individual commands in this sequence:
- // stop, join, shutdown.
- void shutdown ();
-
// Returns signaler associated with this I/O thread.
i_signaler *get_signaler ();
@@ -62,9 +57,7 @@ namespace zmq
void out_event ();
void timer_event ();
- // i_thread implementation.
- void attach_session (class session_t *session_);
- void detach_session (class session_t *session_);
+ // ???
struct i_poller *get_poller ();
// Command handlers.
@@ -75,9 +68,6 @@ namespace zmq
private:
- // Clean-up.
- ~io_thread_t ();
-
// Poll thread gets notifications about incoming commands using
// this signaler.
fd_signaler_t signaler;
@@ -87,11 +77,6 @@ namespace zmq
// I/O multiplexing is performed using a poller object.
i_poller *poller;
-
- // Vector of all sessions associated with this app thread.
- typedef std::vector <class session_t*> sessions_t;
- sessions_t sessions;
-
};
}