mirror of
https://github.com/zeromq/libzmq.git
synced 2025-10-28 11:31:56 +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:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user