From e0246e32d79d71f8e73207b43aed8b23648e4fc7 Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Thu, 21 Apr 2011 22:27:48 +0200 Subject: 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 --- src/zmq_init.hpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'src/zmq_init.hpp') diff --git a/src/zmq_init.hpp b/src/zmq_init.hpp index 92ab05b..ec9b2b3 100644 --- a/src/zmq_init.hpp +++ b/src/zmq_init.hpp @@ -23,14 +23,13 @@ #include -#include "../include/zmq.h" - #include "i_inout.hpp" #include "i_engine.hpp" -#include "own.hpp" -#include "fd.hpp" #include "stdint.hpp" #include "blob.hpp" +#include "msg.hpp" +#include "own.hpp" +#include "fd.hpp" namespace zmq { @@ -58,8 +57,8 @@ namespace zmq void dispatch_engine (); // i_inout interface implementation. - bool read (::zmq_msg_t *msg_); - bool write (::zmq_msg_t *msg_); + bool read (class msg_t *msg_); + bool write (class msg_t *msg_); void flush (); void detach (); @@ -75,7 +74,7 @@ namespace zmq // List of messages to send to the peer during the connection // initiation phase. - typedef std::vector < ::zmq_msg_t> to_send_t; + typedef std::vector to_send_t; to_send_t to_send; // True if peer's identity was already received. -- cgit v1.2.3