summaryrefslogtreecommitdiff
path: root/src/zmq_init.hpp
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@250bpm.com>2011-04-21 22:27:48 +0200
committerMartin Sustrik <sustrik@250bpm.com>2011-04-21 22:27:48 +0200
commite0246e32d79d71f8e73207b43aed8b23648e4fc7 (patch)
tree9952ee6fd39f4e27bbe932f6b6f30f0073009369 /src/zmq_init.hpp
parent581697695aac72894f2d3fefac904b9d50b3ba67 (diff)
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>
Diffstat (limited to 'src/zmq_init.hpp')
-rw-r--r--src/zmq_init.hpp13
1 files changed, 6 insertions, 7 deletions
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 <vector>
-#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 <msg_t> to_send_t;
to_send_t to_send;
// True if peer's identity was already received.