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:
Martin Sustrik
2011-04-21 22:27:48 +02:00
parent 581697695a
commit e0246e32d7
55 changed files with 608 additions and 476 deletions

View File

@@ -27,10 +27,9 @@
#include <algorithm>
#include "err.hpp"
#include "msg.hpp"
#include "stdint.hpp"
#include "../include/zmq.h"
namespace zmq
{
@@ -196,7 +195,7 @@ namespace zmq
struct i_inout *destination;
unsigned char tmpbuf [8];
::zmq_msg_t in_progress;
msg_t in_progress;
int64_t maxmsgsize;