Skip to content

Commit 2b466a6

Browse files
committed
Call non-deprecated functions in implementation
1 parent 7aa3f37 commit 2b466a6

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

zmq.hpp

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -299,71 +299,78 @@ class error_t : public std::exception
299299
int errnum;
300300
};
301301

302+
namespace detail {
303+
inline int poll(zmq_pollitem_t *items_, size_t nitems_, long timeout_)
304+
{
305+
int rc = zmq_poll(items_, static_cast<int>(nitems_), timeout_);
306+
if (rc < 0)
307+
throw error_t();
308+
return rc;
309+
}
310+
}
311+
302312
#ifdef ZMQ_CPP11
303313
ZMQ_DEPRECATED("from 4.8.0, use poll taking std::chrono::duration instead of long")
304314
inline int poll(zmq_pollitem_t *items_, size_t nitems_, long timeout_)
305315
#else
306316
inline int poll(zmq_pollitem_t *items_, size_t nitems_, long timeout_ = -1)
307317
#endif
308318
{
309-
int rc = zmq_poll(items_, static_cast<int>(nitems_), timeout_);
310-
if (rc < 0)
311-
throw error_t();
312-
return rc;
319+
return detail::poll(items_, nitems_, timeout_);
313320
}
314321

315322
ZMQ_DEPRECATED("from 4.3.1, use poll taking non-const items")
316323
inline int poll(zmq_pollitem_t const *items_, size_t nitems_, long timeout_ = -1)
317324
{
318-
return poll(const_cast<zmq_pollitem_t *>(items_), nitems_, timeout_);
325+
return detail::poll(const_cast<zmq_pollitem_t *>(items_), nitems_, timeout_);
319326
}
320327

321328
#ifdef ZMQ_CPP11
322329
ZMQ_DEPRECATED("from 4.3.1, use poll taking non-const items")
323330
inline int
324331
poll(zmq_pollitem_t const *items, size_t nitems, std::chrono::milliseconds timeout)
325332
{
326-
return poll(const_cast<zmq_pollitem_t *>(items), nitems,
333+
return detail::poll(const_cast<zmq_pollitem_t *>(items), nitems,
327334
static_cast<long>(timeout.count()));
328335
}
329336

330337
ZMQ_DEPRECATED("from 4.3.1, use poll taking non-const items")
331338
inline int poll(std::vector<zmq_pollitem_t> const &items,
332339
std::chrono::milliseconds timeout)
333340
{
334-
return poll(const_cast<zmq_pollitem_t *>(items.data()), items.size(),
341+
return detail::poll(const_cast<zmq_pollitem_t *>(items.data()), items.size(),
335342
static_cast<long>(timeout.count()));
336343
}
337344

338345
ZMQ_DEPRECATED("from 4.3.1, use poll taking non-const items")
339346
inline int poll(std::vector<zmq_pollitem_t> const &items, long timeout_ = -1)
340347
{
341-
return poll(const_cast<zmq_pollitem_t *>(items.data()), items.size(), timeout_);
348+
return detail::poll(const_cast<zmq_pollitem_t *>(items.data()), items.size(), timeout_);
342349
}
343350

344351
inline int
345352
poll(zmq_pollitem_t *items, size_t nitems, std::chrono::milliseconds timeout = std::chrono::milliseconds{-1})
346353
{
347-
return poll(items, nitems, static_cast<long>(timeout.count()));
354+
return detail::poll(items, nitems, static_cast<long>(timeout.count()));
348355
}
349356

350357
inline int poll(std::vector<zmq_pollitem_t> &items,
351358
std::chrono::milliseconds timeout = std::chrono::milliseconds{-1})
352359
{
353-
return poll(items.data(), items.size(), static_cast<long>(timeout.count()));
360+
return detail::poll(items.data(), items.size(), static_cast<long>(timeout.count()));
354361
}
355362

356363
ZMQ_DEPRECATED("from 4.3.1, use poll taking std::chrono::duration instead of long")
357364
inline int poll(std::vector<zmq_pollitem_t> &items, long timeout_)
358365
{
359-
return poll(items.data(), items.size(), timeout_);
366+
return detail::poll(items.data(), items.size(), timeout_);
360367
}
361368

362369
template<std::size_t SIZE>
363370
inline int poll(std::array<zmq_pollitem_t, SIZE> &items,
364-
std::chrono::milliseconds timeout)
371+
std::chrono::milliseconds timeout = std::chrono::milliseconds{-1})
365372
{
366-
return poll(items.data(), items.size(), static_cast<long>(timeout.count()));
373+
return detail::poll(items.data(), items.size(), static_cast<long>(timeout.count()));
367374
}
368375
#endif
369376

@@ -2327,7 +2334,11 @@ class monitor_t
23272334
{_monitor_socket.handle(), 0, ZMQ_POLLIN, 0},
23282335
};
23292336

2337+
#ifdef ZMQ_CPP11
2338+
zmq::poll(&items[0], 1, std::chrono::milliseconds(timeout));
2339+
#else
23302340
zmq::poll(&items[0], 1, timeout);
2341+
#endif
23312342

23322343
if (items[0].revents & ZMQ_POLLIN) {
23332344
int rc = zmq_msg_recv(eventMsg.handle(), _monitor_socket.handle(), 0);

0 commit comments

Comments
 (0)