Commit Graph

7261 Commits

Author SHA1 Message Date
Simon Giesecke
8f90f579f5 Problem: no assertions for local and remote addresses in monitor tests
Solution: added such assertions and extended test utilities
2019-02-02 16:34:19 +01:00
Simon Giesecke
f884fa725c Problem: get_monitor_event_internal segfaults when using address
Solution: dereference the pointer to the array before accessing the
element
2019-02-02 15:36:26 +01:00
Simon Giesecke
b18d28eec1 Problem: no tests for v2 monitor events and test_socket_monitor_versioned
Solution: add first test case
2019-02-02 15:33:27 +01:00
Simon Giesecke
30e0cbbcdc Problem: test_monitor depends on testutil_security
Solution: move general monitoring test utilities to new testutil_monitoring
2019-02-02 15:33:27 +01:00
Simon Giesecke
482a3a2272 Problem: documented constants are not defined
Solution: add definition to zmq.h
2019-02-02 15:33:27 +01:00
Simon Giesecke
367246bb23 Problem: test_monitor is not using a test framework
Solution: migrate to unity
2019-02-02 15:33:27 +01:00
Simon Giesecke
478e42442b Problem: no documentation on zmq_socket_monitor_versioned
Solution: add initial version of documentation
2019-02-02 15:33:27 +01:00
Simon Giesecke
d8b5204f73 Problem: socks_connecter_t does not set local address
Solution: query the local address and set it
2019-02-02 15:33:27 +01:00
Simon Giesecke
87082557f0 Problem: stream_connecter_base_t does not set local address
Solution: pass the local address by subclasses to create_engine
2019-02-02 15:33:27 +01:00
Simon Giesecke
aec9b130f7 Problem: get_socket_address and get_socket_name not available throughout libzmq and restricted to local address
Solution: move to address.hpp/.cpp and generalize
2019-02-02 15:33:27 +01:00
Simon Giesecke
01371398e9 Problem: monitor events are unversioned
Solution: add monitor event socket option
2019-02-02 15:33:27 +01:00
Simon Giesecke
2e73554644 Problem: socks_connecter_t, vmci_connecter_t and vmci_listener_t duplicate code with stream_*_base_t
Solution: add TODO comments to resolve this debt
2019-02-02 15:23:56 +01:00
Simon Giesecke
b462cc0912 Problem: misleading comments referring to a "library shutdown"
Solution: change to refer to the context
2019-02-02 15:23:56 +01:00
Simon Giesecke
9a376fbe24 Problem: code duplication in get_address of ipc/tcp/tipc listener classes
Solution: pull up to base class
2019-02-02 15:23:56 +01:00
Simon Giesecke
5c81bbe82e Problem: norm_engine.cpp missing in CMakeLists.txt
Solution: added it
2019-02-02 15:23:56 +01:00
Luca Boccassi
4d8e5fb2e9
Merge pull request #3378 from sigiesec/refactor-stream-listeners-and-connecters
Refactor stream listeners and connecters
2019-02-01 11:26:13 +01:00
Luca Boccassi
1aa6f7070c
Merge pull request #3377 from sigiesec/fix-3376
Fix handling of random port numbers with tipc
2019-02-01 11:02:24 +01:00
Simon Giesecke
e162c8bda3 Problem: code duplication around getsockname
Solution: also use get_socket_address from base class
2019-02-01 04:58:57 -05:00
Simon Giesecke
2b04946f49 Problem: code duplication around getsockname
Solution: also use get_socket_address from base class
2019-02-01 04:58:57 -05:00
Simon Giesecke
c476cf3d14 Problem: implicit cast between signed and unsigned types on some platforms
Solution: perform explicit cast
2019-02-01 04:58:57 -05:00
Simon Giesecke
95eb8a7a99 Problem: parts of in_event duplicated across subclasses of stream_listener_base_t
Solution: extract function create_engine into base class
2019-02-01 04:58:57 -05:00
Simon Giesecke
93c1843f3e Problem: duplication across ipc_listener_t, tcp_listener_t, tipc_listener_t
Solution: extract common base class stream_listener_base_t
2019-02-01 04:58:57 -05:00
Simon Giesecke
a40a3b7a34 Problem: several data members in stream_connecter_base_t are visible more than necessary
Solution: make them private and adapt initialization order
2019-02-01 04:58:57 -05:00
Simon Giesecke
a766a4b67e Problem: reconnect_timer_id duplicated and essentially used only in base class
Solution: removed definitions and uses in subclasses
2019-02-01 04:58:57 -05:00
Simon Giesecke
bed3b0cfb4 Problem: tipc_listener_t data members not conforming to naming style
Solution: add underscore prefix
2019-02-01 04:58:57 -05:00
Simon Giesecke
2a5fb6cb8e Problem: ipc_listener_t data members not conforming to naming style
Solution: add underscore prefix
2019-02-01 04:58:57 -05:00
Simon Giesecke
7e73587741 Problem: duplication in *_event methods across subclasses of stream_connecter_base_t
Solution: pull up common code, introduce new create_engine function in base class
2019-02-01 04:58:57 -05:00
Simon Giesecke
a09099a615 Problem: process_term and close duplicated across subclasses of stream_connecter_base_t
Solution: pull up
2019-02-01 04:58:57 -05:00
Simon Giesecke
531df586d0 Problem: rm_fd code duplicated across stream_connecter_t subclasses
Solution: pull up tcp_connecter_t::rm_handle and use in all subclasses
2019-02-01 04:58:57 -05:00
Simon Giesecke
1a230e89ca Problem: process_plug, get_new_reconnect_ivl and add_reconnect_timer duplicated across subclasses of stream_connector_base_t
Solution: pull up to stream_connector_base_t
2019-02-01 04:58:57 -05:00
Simon Giesecke
74667ebcba Problem: destructors of tcp_connecter_t, ipc_connecter_t, tipc_connecter_t contain duplicated code
Solution: pull up to stream_connecter_base_t
2019-02-01 04:58:57 -05:00
Simon Giesecke
d6f8d246e2 Problem: data members are duplicated across tcp_connecter_t, ipc_connecter_t, tipc_connecter_t
Solution: extract common base class stream_connecter_base_t
2019-02-01 04:58:47 -05:00
Simon Giesecke
361d7168ad Problem: tipc_connector_t::_handle_valid is redundant
Solution: replace by checks against valid value of _handle
2019-02-01 04:33:03 -05:00
Simon Giesecke
a13eb1a9d8 Problem: ipc_connector_t::_handle_valid is redundant
Solution: replace by checks against valid value of _handle
2019-02-01 04:33:03 -05:00
Simon Giesecke
065e81879a Problem: tipc_connector_t::_timer_started is unspecifically named
Solution: rename to _reconnect_timer_started
2019-02-01 04:33:03 -05:00
Simon Giesecke
ca87aaed57 Problem: ipc_connector_t::_timer_started is unspecifically named
Solution: rename to _reconnect_timer_started
2019-02-01 04:33:03 -05:00
Simon Giesecke
c94ad64876 Problem: tipc_connector_t data members not conforming to naming conventions
Solution: add underscore prefix to data members
2019-02-01 04:33:03 -05:00
Simon Giesecke
58063a75a2 Problem: ipc_connector_t data members not conforming to naming conventions
Solution: add underscore prefix to data members
2019-02-01 04:33:03 -05:00
Simon Giesecke
4d362887bb Problem: stream_engine_t::_endpoint is unnecessarily non-const
Solution: declare _endpoint const
2019-02-01 04:33:03 -05:00
Simon Giesecke
091df743a8 Problem: stream_engine_t::_peer_address is unnecssarily non-const
Solution: extract initialization code into get_peer_address function and declare _peer_address const
2019-02-01 04:33:03 -05:00
Simon Giesecke
ae79b41d4c Problem: bug in tipc_listener_t::set_address, random port is determined but not used
Solution: assign result to address

Fixes #3376
2019-02-01 04:30:20 -05:00
Simon Giesecke
afe48e2b16 Problem: unnecessary explicit definitions/deletions of special member functions in tipc_address_t
Solution: remove them
2019-02-01 04:28:35 -05:00
Simon Giesecke
19b64709bb
Merge pull request #3374 from bluca/hurd
Problem: one more test fails on GNU/Hurd
2019-01-28 09:51:50 +01:00
Luca Boccassi
9fae3d1f10 Problem: one more test fails on GNU/Hurd
Solution: mark test_rebind_ipc as XFAIL on Hurd as it does not
implement getsockname on IPC and thus it's impossible to use
wildcard IPC binds.
Document that ZMQ_LAST_ENDPOINT does not work on Hurd with IPC.
2019-01-27 14:04:18 +00:00
Doron Somech
fe4e333334
Merge pull request #3369 from bluca/abi_checker_travis
Problem: have to check ABI compatibility manually
2019-01-20 20:24:09 +02:00
Luca Boccassi
f9b0945c1b Problem: have to check ABI compatibility manually
Solution: automate it on Travis
2019-01-20 16:38:17 +00:00
Constantin Rack
331fee4b38
Merge pull request #3368 from bluca/release_branch
Problem: race condition breaks automated OBS release
2019-01-20 16:51:26 +01:00
Luca Boccassi
51557b9b96 Problem: race condition breaks automated OBS release
Solution: instead of using a temporary release branch that gets
deleted after an arbitrary timer, which never matches the time OBS
actually takes to do a full git clone, keep the branch permanently
in place and simply move it forward to the latest tag on each
release.
2019-01-20 14:34:29 +00:00
Constantin Rack
329155655c
Merge pull request #3367 from bluca/alignment_cache_size
Problems: test failures on PPC and GNU/hurd
2019-01-20 08:42:03 +01:00
Luca Boccassi
3b6db4b370 Problem: test_pair_ipc fails on GNU/Hurd due to wildcard bind
Solution: mark it as XFAIL like the other tests that use ipc://*
2019-01-19 22:28:15 +00:00