diff --git a/zmq.hpp b/zmq.hpp index f514b54..e4ed26d 100644 --- a/zmq.hpp +++ b/zmq.hpp @@ -227,6 +227,14 @@ namespace zmq } } + inline message_t (const void *data_, size_t size_) + { + int rc = zmq_msg_init_size (&msg, size_); + if (rc != 0) + throw error_t (); + memcpy(data(), data_, size_); + } + inline message_t (void *data_, size_t size_, free_fn *ffn_, void *hint_ = NULL) { @@ -276,6 +284,17 @@ namespace zmq throw error_t (); } + inline void rebuild (const void *data_, size_t size_) + { + int rc = zmq_msg_close (&msg); + if (rc != 0) + throw error_t (); + rc = zmq_msg_init_size (&msg, size_); + if (rc != 0) + throw error_t (); + memcpy(data(), data_, size_); + } + inline void rebuild (void *data_, size_t size_, free_fn *ffn_, void *hint_ = NULL) {