Simon Giesecke
be81dcd4d3
Use std::min/max where possible
2018-08-09 12:53:32 +02:00
Simon Giesecke
3cb77e423e
Use revision_pos constant
2018-08-09 12:47:18 +02:00
Simon Giesecke
758f903db4
Some code style improvements: removed redundant parentheses, added const, joined declaration and assignment of local variables
2018-08-09 12:41:08 +02:00
Simon Giesecke
89e5313114
Refactored zmq::stream_engine_t::handshake, extracted several sub-methods
2018-08-09 12:41:08 +02:00
Simon Giesecke
c3739ff604
Use static_cast instead of C-style casts, make local variables const where possible, use switch instead of chained if/else, extract rm_helper_multiple_subnodes from rm_helper to reduce nesting
2018-08-09 12:41:08 +02:00
Simon Giesecke
9e2cf35b66
Reduced number of calls to container end method
2018-08-09 12:41:08 +02:00
Simon Giesecke
19a70ab682
Optimized and simplified zmq::timers_t::execute and zmq::timers_t::timeout
2018-08-07 16:54:35 +02:00
Simon Giesecke
4f77cfa327
Removed unreachable code paths
2018-08-07 16:11:52 +02:00
Simon Giesecke
198c01e00b
Use more structured for loop instead of while loop
2018-08-07 15:58:15 +02:00
Simon Giesecke
e4b4372c41
Simplified code
2018-08-07 14:15:35 +02:00
Simon Giesecke
ad3d1e7762
Reduced code duplication between xread and xhas_in
2018-08-07 14:15:35 +02:00
Simon Giesecke
3cca90ea44
Optimized zmq::dish_t::xhas_in
2018-08-07 14:15:35 +02:00
Simon Giesecke
aa1f5739b7
Optimized zmq::dish_t::xrecv
2018-08-07 14:15:35 +02:00
Simon Giesecke
fa976f87f9
Simplified uses of erase
2018-08-07 14:15:35 +02:00
Simon Giesecke
6357890ff6
Removed code duplication in process_commands
2018-08-07 10:17:12 +02:00
Luca Boccassi
3159161cef
Problem: zmq_timers_* are ready for STABLE
...
Solution: move them from DRAFT state to STABLE
2018-07-27 23:07:56 +01:00
Michael Vilim
8a16fef3cc
Problem: ZMQ_CONNECT_ROUTING_ID can be assigned to incoming socket connection (Issue #3191 )
...
Solution: Add an identifier parameter for local attach to zmq::socket_base_t::attach_pipe
2018-07-26 18:26:35 -05:00
Alessio M
9066e0670f
Problem: stack overflow on win64 #2876 . Basically zmq::signaler_t::wait suffers from stack bloating the same way socket_poller was found to be bloated due to the large size of fd_set
...
Solution: replace the fd_set in the routine with an instance of optimized_fd_set_t
2018-06-28 14:11:32 +01:00
Luca Boccassi
b0d9a5a2d5
Merge pull request #3174 from ilue/master
...
Fix for issue #3162
2018-06-26 08:09:05 +01:00
Luca Boccassi
d70714e877
Problem: can't process ZMTP 3.1 cancel/subscribe commands
...
Solution: add some msg helpers to parse commands, and check for
subscribe or cancel commands and process them accordingly in the xpub
and xsub classes.
2018-06-23 17:16:10 +01:00
Luca Boccassi
8da4e9b95c
Problem: pgm_sender does not initialise all its class variables
...
Solution: do it to silence static analysis warnings
2018-06-22 22:49:58 +01:00
ehilscher
0867c38032
Problem: connecter classes do not handle ZMQ_RECONNECT_IVL of -1 ( #3163 )
...
* Problem: connecter classes do not handle ZMQ_RECONNECT_IVL of -1
Solution: Add guards to prevent a reconnect timer from starting if ZMQ_RECONNECT_IVL is -1
(Issue 3158)
2018-06-12 23:23:39 +01:00
ilue
e22cd678b6
Fix #3162
2018-06-12 11:10:03 +08:00
Luca Boccassi
3a1e8f0704
Merge pull request #3159 from sigiesec/remove-superfluous-mutex
...
Problem: epoll_t employs an unnecessary mutex
2018-06-07 14:17:20 +01:00
Simon Giesecke
75e945f162
Problem: epoll_t employs an unnecessary mutex
...
Solution: remove the mutex
2018-06-06 21:41:16 +02:00
KIU Shueng Chuan
5a1ea0c398
Problem: ZMQ_USE_EPOLL_CLOEXEC not renamed to new name
...
Solution: rename it
2018-06-04 23:17:57 +08:00
pijyoi
c76ac5474b
fix computation of winsock fd_set size ( #3151 )
...
* fix computation of winsock fd_set size
2018-06-02 13:16:33 +01:00
Simon Giesecke
5ac900a984
Problem: huge size of socket_poller_t object on Windows with select polling
...
Solution: use resizable_optimized_fd_set_t
2018-06-01 18:43:58 +02:00
Simon Giesecke
4a651251a7
Problem: code duplication within socket_poller_t
...
Solution: remove duplicated code
2018-06-01 18:24:42 +02:00
Simon Giesecke
74d3d8421f
Problem: huge stack allocation with select on Windows in socket_poller_t::wait
...
Solution: use optimized_fd_set_t
2018-06-01 18:22:49 +02:00
Simon Giesecke
3d39bb9ca9
Problem: valid_pollset_bytes not reused in socket_poller
...
Solution: use it
2018-06-01 18:22:49 +02:00
Simon Giesecke
a8d62d14c1
Problem: polling utilities not at a reusable location
...
Solution: move to separate header
2018-06-01 18:22:48 +02:00
Simon Giesecke
7c0efcb588
Problem: huge stack allocation in Windows select code
...
Solution: use fast_vector_t as in poll implementation
2018-06-01 18:20:10 +02:00
Simon Giesecke
2533ffed86
Problem: memcpy code fragment is duplicated
...
Solution: unify between Windows and non-Windows code
2018-06-01 18:19:46 +02:00
Simon Giesecke
04dedfbc2a
Problem: duplicated calculation of valid bytes in select pollset
...
Solution: extract to function
2018-06-01 18:16:46 +02:00
Simon Giesecke
e4c3297ed8
Problem: fragile handling of possibly dynamically allocated pollfds
...
Solution: extract class template fast_vector_t
2018-06-01 17:08:39 +02:00
Simon Giesecke
c6e4b0abb1
Problem: zmq_poll implementation is complex
...
Solution: extract compute_timeout method
2018-06-01 17:08:38 +02:00
Simon Giesecke
3db3bbfbbb
Problem: duplication in implementation zmq_poller_poll
...
Solution: remove duplication
2018-06-01 17:08:38 +02:00
Simon Giesecke
4604014c12
Problem: unused result of call to pull_msg
...
Solution: add TODO comment regarding handling of the result
2018-05-31 11:21:33 +02:00
Simon Giesecke
c2ba553d87
Problem: unused values stored to variable, duplicated code
...
Solution: remove duplicated and redundant code
2018-05-31 11:02:26 +02:00
Simon Giesecke
ee4cdf8bf0
Problem: suspicious use of memcmp result
...
Solution: explicitly compare result against 0
2018-05-31 11:02:26 +02:00
Simon Giesecke
a2f91c5509
Problem: unnecessary passing of non-const data
...
Solution: make const
2018-05-30 23:21:53 +02:00
Simon Giesecke
c641644bb2
Problem: inconsistent parameter names
...
Solution: harmonize
2018-05-30 23:21:52 +02:00
Simon Giesecke
9e6f1c9a3c
Problem: redundant else after return
...
Solution: remove redundant else
2018-05-30 23:21:52 +02:00
Simon Giesecke
6fa12bd692
Problem: unused stored value warning
...
Solution: add LIBZMQ_UNUSED
2018-05-30 23:21:52 +02:00
Simon Giesecke
0f2979a38e
Problem: assignment used as condition warning
...
Solution: changed condition
2018-05-30 23:21:52 +02:00
Simon Giesecke
24edc828ab
Problem: redundant else after return
...
Solution: remove redundant else
2018-05-30 23:21:52 +02:00
Simon Giesecke
88646438d2
Problem: differing parameter names between declaration and definition
...
Solution: harmonize
2018-05-30 23:21:52 +02:00
Simon Giesecke
da4309da13
Problem: violation of parameter naming conventions
...
Solution: change to comply with naming conventions
2018-05-30 23:21:52 +02:00
Simon Giesecke
29f1f39df3
Problem: unused parameter warning
...
Solution: mark parameter as unused depending on platform definitions
2018-05-30 23:21:52 +02:00