mirror of
https://github.com/zeromq/libzmq.git
synced 2025-10-29 20:59:47 +01:00
Message-related functionality factored out into msg_t class.
This patch addresses serveral issues: 1. It gathers message related functionality scattered over whole codebase into a single class. 2. It makes zmq_msg_t an opaque datatype. Internals of the class don't pollute zmq.h header file. 3. zmq_msg_t size decreases from 48 to 32 bytes. That saves ~33% of memory in scenarios with large amount of small messages. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
This commit is contained in:
@@ -40,7 +40,7 @@ namespace zmq
|
||||
|
||||
void attach (writer_t *pipe_);
|
||||
void terminate ();
|
||||
int send (zmq_msg_t *msg_, int flags_);
|
||||
int send (class msg_t *msg_, int flags_);
|
||||
bool has_out ();
|
||||
|
||||
// i_writer_events interface implementation.
|
||||
@@ -51,10 +51,10 @@ namespace zmq
|
||||
|
||||
// Write the message to the pipe. Make the pipe inactive if writing
|
||||
// fails. In such a case false is returned.
|
||||
bool write (class writer_t *pipe_, zmq_msg_t *msg_);
|
||||
bool write (class writer_t *pipe_, class msg_t *msg_);
|
||||
|
||||
// Put the message to all active pipes.
|
||||
void distribute (zmq_msg_t *msg_, int flags_);
|
||||
void distribute (class msg_t *msg_, int flags_);
|
||||
|
||||
// Plug in all the delayed pipes.
|
||||
void clear_new_pipes ();
|
||||
|
||||
Reference in New Issue
Block a user