Problem: send/recv functions lack type-safety

Solution: Add functions taking buffers and enum class flags
This commit is contained in:
Gudmundur Adalsteinsson
2019-04-22 21:15:51 +00:00
parent 35ba5bea3b
commit 3d4be814e8
8 changed files with 866 additions and 24 deletions

View File

@@ -130,8 +130,13 @@ class multipart_t
bool more = true;
while (more) {
message_t message;
#ifdef ZMQ_CPP11
if (!socket.recv(message, static_cast<recv_flags>(flags)).success)
return false;
#else
if (!socket.recv(&message, flags))
return false;
#endif
more = message.more();
add(std::move(message));
}
@@ -146,8 +151,14 @@ class multipart_t
while (more) {
message_t message = pop();
more = size() > 0;
#ifdef ZMQ_CPP11
if (!socket.send(message,
static_cast<send_flags>((more ? ZMQ_SNDMORE : 0) | flags)).success)
return false;
#else
if (!socket.send(message, (more ? ZMQ_SNDMORE : 0) | flags))
return false;
#endif
}
clear();
return true;