Simon Giesecke
8328208e60
Problem: inconsistent _out_pipes when using the same routing id without ZMQ_ROUTER_HANDOVER
...
Solution: added test case, do not erase existing without ZMQ_ROUTER_HANDOVER
2018-08-17 12:50:59 +02:00
Simon Giesecke
6d7aeb056f
Problem: complexity of start_connecting
...
Solution: extract functions for each protocol
2018-08-15 14:46:21 +02:00
Simon Giesecke
2cd34da1b0
Problem: code duplication in session_base_t::start_connecting
...
Solution: extract common code
2018-08-15 14:46:21 +02:00
Simon Giesecke
799fae44fe
Problem: magic literal used for inproc
...
Solution: define and use named constant
2018-08-15 14:46:21 +02:00
Simon Giesecke
daadb65a46
Problem: inconsistency of using terms address and uri
...
Solution: use terms more consistently
2018-08-15 14:46:21 +02:00
Simon Giesecke
cdc6c66f9b
Problem: complexity of term_endpoint
...
Solution: extract resolve_tcp_addr function
2018-08-15 14:46:21 +02:00
Simon Giesecke
a2d736c14f
Problem: functionality around inprocs_t is scattered
...
Solution: extract into functions of new inprocs_t class
2018-08-15 14:46:21 +02:00
Simon Giesecke
fb576d2f95
Problem: unnecessary procedural code
...
Solution: replace by functional expression
2018-08-15 14:46:21 +02:00
Simon Giesecke
3455be144d
Problem: code duplication around sending of routing id
...
Solution: extract functionality into send_routing_id
2018-08-15 14:46:21 +02:00
Simon Giesecke
83f41526c9
Problem: code duplication around options_t::conflate
...
Solution: extract functionality into get_effective_conflate_option
2018-08-15 12:18:35 +02:00
Simon Giesecke
8820dedcb7
Problem: stream_engine_t::_as_server is not used
...
Solution: remove it
2018-08-15 11:53:31 +02:00
Simon Giesecke
0852099f67
Problem: unused field pipe_t::_credentials
...
Solution: remove it
2018-08-15 11:48:00 +02:00
Szekely Gyorgy
2cdad3d0ce
Add ZMQ_ROUTER_NOTIFY draft socket option ( #3213 )
...
* Add ZMQ_ROUTER_NOTIFY draft socket option
2018-08-15 08:54:08 +01:00
Simon Giesecke
da30ff7d3d
Problem: unused get_credential methods and associated fields
...
Solution: remove them
2018-08-13 15:22:18 +02:00
Luca Boccassi
0b1589dbba
Merge pull request #3209 from sigiesec/code-improvements
...
Code style improvements
2018-08-10 16:40:23 +01:00
Simon Giesecke
bbae67df89
Code style improvements
2018-08-10 15:36:31 +02:00
Simon Giesecke
b102e30419
Fixed naming for filter parameter, removed unnecessary temporary variable, fixed naming of local variable
2018-08-10 11:25:20 +02:00
Simon Giesecke
a1b6268c83
Made to_string const; converted C-style cast to reinterpret_cast
2018-08-10 11:25:09 +02:00
Luca Boccassi
6e8424ab5d
Merge pull request #3206 from sigiesec/fix-zap-memory-use-after-free
...
Problem: stream_engine_t instance may access its fields after it deleted itself
2018-08-09 18:17:58 +01:00
Simon Giesecke
737927e333
Fixed spelling of parameter
2018-08-09 18:27:01 +02:00
Simon Giesecke
46ed0920b2
Various code style improvements
2018-08-09 18:27:01 +02:00
Simon Giesecke
563651e0c9
Problem: stream_engine_t instance may access its fields after it deleted itself
...
Solution: prevent access to data if the object was deleted
2018-08-09 15:24:23 +02:00
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