Rename i_inout to i_engine_sink

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
This commit is contained in:
Martin Sustrik
2011-06-27 18:16:53 +02:00
parent 3ae73ee11f
commit f8bf3a4cef
15 changed files with 81 additions and 111 deletions

View File

@@ -24,13 +24,15 @@
namespace zmq
{
// Abstract interface to be implemented by various engines.
struct i_engine
{
virtual ~i_engine () {}
// Plug the engine to the session.
virtual void plug (class io_thread_t *io_thread_,
struct i_inout *inout_) = 0;
struct i_engine_sink *sink_) = 0;
// Unplug the engine from the session.
virtual void unplug () = 0;
@@ -48,6 +50,25 @@ namespace zmq
virtual void activate_out () = 0;
};
// Abstract interface to be implemented by engine sinks such as sessions.
struct i_engine_sink
{
virtual ~i_engine_sink () {}
// Engine asks for a message to send to the network.
virtual bool read (class msg_t *msg_) = 0;
// Engine received message from the network and sends it further on.
virtual bool write (class msg_t *msg_) = 0;
// Flush all the previously written messages.
virtual void flush () = 0;
// Engine is dead. Drop all the references to it.
virtual void detach () = 0;
};
}
#endif