@@ -299,66 +299,78 @@ class error_t : public std::exception
299
299
int errnum;
300
300
};
301
301
302
- inline int poll (zmq_pollitem_t *items_, size_t nitems_, long timeout_ = -1 )
302
+ namespace detail {
303
+ inline int poll (zmq_pollitem_t *items_, size_t nitems_, long timeout_)
303
304
{
304
305
int rc = zmq_poll (items_, static_cast <int >(nitems_), timeout_);
305
306
if (rc < 0 )
306
307
throw error_t ();
307
308
return rc;
308
309
}
310
+ }
311
+
312
+ #ifdef ZMQ_CPP11
313
+ ZMQ_DEPRECATED (" from 4.8.0, use poll taking std::chrono::duration instead of long" )
314
+ inline int poll(zmq_pollitem_t *items_, size_t nitems_, long timeout_)
315
+ #else
316
+ inline int poll (zmq_pollitem_t *items_, size_t nitems_, long timeout_ = -1 )
317
+ #endif
318
+ {
319
+ return detail::poll (items_, nitems_, timeout_);
320
+ }
309
321
310
322
ZMQ_DEPRECATED (" from 4.3.1, use poll taking non-const items" )
311
323
inline int poll(zmq_pollitem_t const *items_, size_t nitems_, long timeout_ = -1 )
312
324
{
313
- return poll (const_cast <zmq_pollitem_t *>(items_), nitems_, timeout_);
325
+ return detail:: poll (const_cast <zmq_pollitem_t *>(items_), nitems_, timeout_);
314
326
}
315
327
316
328
#ifdef ZMQ_CPP11
317
329
ZMQ_DEPRECATED (" from 4.3.1, use poll taking non-const items" )
318
330
inline int
319
331
poll(zmq_pollitem_t const *items, size_t nitems, std::chrono::milliseconds timeout)
320
332
{
321
- return poll (const_cast <zmq_pollitem_t *>(items), nitems,
333
+ return detail:: poll (const_cast <zmq_pollitem_t *>(items), nitems,
322
334
static_cast <long >(timeout.count ()));
323
335
}
324
336
325
337
ZMQ_DEPRECATED (" from 4.3.1, use poll taking non-const items" )
326
338
inline int poll(std::vector<zmq_pollitem_t > const &items,
327
339
std::chrono::milliseconds timeout)
328
340
{
329
- return poll (const_cast <zmq_pollitem_t *>(items.data ()), items.size (),
341
+ return detail:: poll (const_cast <zmq_pollitem_t *>(items.data ()), items.size (),
330
342
static_cast <long >(timeout.count ()));
331
343
}
332
344
333
345
ZMQ_DEPRECATED (" from 4.3.1, use poll taking non-const items" )
334
346
inline int poll(std::vector<zmq_pollitem_t > const &items, long timeout_ = -1 )
335
347
{
336
- 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_);
337
349
}
338
350
339
351
inline int
340
- poll (zmq_pollitem_t *items, size_t nitems, std::chrono::milliseconds timeout)
352
+ poll (zmq_pollitem_t *items, size_t nitems, std::chrono::milliseconds timeout = std::chrono::milliseconds{- 1 } )
341
353
{
342
- return poll (items, nitems, static_cast <long >(timeout.count ()));
354
+ return detail:: poll (items, nitems, static_cast <long >(timeout.count ()));
343
355
}
344
356
345
357
inline int poll (std::vector<zmq_pollitem_t > &items,
346
- std::chrono::milliseconds timeout)
358
+ std::chrono::milliseconds timeout = std::chrono::milliseconds{- 1 } )
347
359
{
348
- return poll (items.data (), items.size (), static_cast <long >(timeout.count ()));
360
+ return detail:: poll (items.data (), items.size (), static_cast <long >(timeout.count ()));
349
361
}
350
362
351
- ZMQ_DEPRECATED (" from 4.3.1, use poll taking std::chrono instead of long" )
352
- inline int poll(std::vector<zmq_pollitem_t > &items, long timeout_ = - 1 )
363
+ ZMQ_DEPRECATED (" from 4.3.1, use poll taking std::chrono::duration instead of long" )
364
+ inline int poll(std::vector<zmq_pollitem_t > &items, long timeout_)
353
365
{
354
- return poll (items.data (), items.size (), timeout_);
366
+ return detail:: poll (items.data (), items.size (), timeout_);
355
367
}
356
368
357
369
template <std::size_t SIZE>
358
370
inline int poll (std::array<zmq_pollitem_t , SIZE> &items,
359
- std::chrono::milliseconds timeout)
371
+ std::chrono::milliseconds timeout = std::chrono::milliseconds{- 1 } )
360
372
{
361
- return poll (items.data (), items.size (), static_cast <long >(timeout.count ()));
373
+ return detail:: poll (items.data (), items.size (), static_cast <long >(timeout.count ()));
362
374
}
363
375
#endif
364
376
@@ -2322,7 +2334,11 @@ class monitor_t
2322
2334
{_monitor_socket.handle (), 0 , ZMQ_POLLIN, 0 },
2323
2335
};
2324
2336
2337
+ #ifdef ZMQ_CPP11
2338
+ zmq::poll (&items[0 ], 1 , std::chrono::milliseconds (timeout));
2339
+ #else
2325
2340
zmq::poll (&items[0 ], 1 , timeout);
2341
+ #endif
2326
2342
2327
2343
if (items[0 ].revents & ZMQ_POLLIN) {
2328
2344
int rc = zmq_msg_recv (eventMsg.handle (), _monitor_socket.handle (), 0 );
0 commit comments