Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
L
libzmq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
libzmq
Commits
9cb266ed
Unverified
Commit
9cb266ed
authored
May 18, 2019
by
Doron Somech
Committed by
GitHub
May 18, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #3512 from bluca/fixes
Problems: typos in docs, unnecessary ifdefs, duplicated APIs
parents
2f98f703
19ff4d0b
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
42 additions
and
92 deletions
+42
-92
Makefile.am
Makefile.am
+5
-0
zmq_setsockopt.txt
doc/zmq_setsockopt.txt
+5
-5
zmq_socket_monitor_versioned.txt
doc/zmq_socket_monitor_versioned.txt
+2
-20
zmq.h
include/zmq.h
+1
-5
xpub.cpp
src/xpub.cpp
+3
-16
xpub.hpp
src/xpub.hpp
+0
-2
zmq.cpp
src/zmq.cpp
+4
-16
zmq_draft.h
src/zmq_draft.h
+1
-5
test_monitor.cpp
tests/test_monitor.cpp
+21
-23
No files found.
Makefile.am
View file @
9cb266ed
...
@@ -966,6 +966,7 @@ test_apps += tests/test_poller \
...
@@ -966,6 +966,7 @@ test_apps += tests/test_poller \
tests/test_scatter_gather
\
tests/test_scatter_gather
\
tests/test_dgram
\
tests/test_dgram
\
tests/test_app_meta
\
tests/test_app_meta
\
tests/test_xpub_manual_last_value
\
tests/test_router_notify
tests/test_router_notify
tests_test_poller_SOURCES
=
tests/test_poller.cpp
tests_test_poller_SOURCES
=
tests/test_poller.cpp
...
@@ -996,6 +997,10 @@ tests_test_dgram_SOURCES = tests/test_dgram.cpp
...
@@ -996,6 +997,10 @@ tests_test_dgram_SOURCES = tests/test_dgram.cpp
tests_test_dgram_LDADD
=
src/libzmq.la
${
TESTUTIL_LIBS
}
tests_test_dgram_LDADD
=
src/libzmq.la
${
TESTUTIL_LIBS
}
tests_test_dgram_CPPFLAGS
=
${
TESTUTIL_CPPFLAGS
}
tests_test_dgram_CPPFLAGS
=
${
TESTUTIL_CPPFLAGS
}
tests_test_xpub_manual_last_value_SOURCES
=
tests/test_xpub_manual_last_value.cpp
tests_test_xpub_manual_last_value_LDADD
=
src/libzmq.la
${
TESTUTIL_LIBS
}
tests_test_xpub_manual_last_value_CPPFLAGS
=
${
TESTUTIL_CPPFLAGS
}
tests_test_app_meta_SOURCES
=
tests/test_app_meta.cpp
tests_test_app_meta_SOURCES
=
tests/test_app_meta.cpp
tests_test_app_meta_LDADD
=
src/libzmq.la
${
TESTUTIL_LIBS
}
tests_test_app_meta_LDADD
=
src/libzmq.la
${
TESTUTIL_LIBS
}
tests_test_app_meta_CPPFLAGS
=
${
TESTUTIL_CPPFLAGS
}
tests_test_app_meta_CPPFLAGS
=
${
TESTUTIL_CPPFLAGS
}
...
...
doc/zmq_setsockopt.txt
View file @
9cb266ed
...
@@ -1074,12 +1074,12 @@ Applicable socket types:: ZMQ_XPUB
...
@@ -1074,12 +1074,12 @@ Applicable socket types:: ZMQ_XPUB
ZMQ_XPUB_MANUAL_LAST_VALUE: change the subscription handling to manual
ZMQ_XPUB_MANUAL_LAST_VALUE: change the subscription handling to manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~
This option is similar to ZMQ_XPUB_MANUAL.
This option is similar to ZMQ_XPUB_MANUAL.
What is the difference, ZMQ_XPUB_MANUAL_LAST_VALUE set
s the 'XPUB' socket
The difference is that ZMQ_XPUB_MANUAL_LAST_VALUE change
s the 'XPUB' socket
behaviour to send the first message to the last subscriber after the
'XPUB'
socket
behaviour to send the first message to the last subscriber after the socket
rec
ieve
a subscription and call setsockopt with ZMQ_SUBSCRIBE on 'XPUB' socket.
rec
eives
a subscription and call setsockopt with ZMQ_SUBSCRIBE on 'XPUB' socket.
This prevent
duplicated message when use
last value caching(LVC).
This prevent
s duplicated messages when using
last value caching(LVC).
NOTE: in DRAFT state, not yet available in stable releases.
NOTE: in DRAFT state, not yet available in stable releases.
...
...
doc/zmq_socket_monitor_versioned.txt
View file @
9cb266ed
...
@@ -10,9 +10,7 @@ zmq_socket_monitor_versioned - monitor socket events
...
@@ -10,9 +10,7 @@ zmq_socket_monitor_versioned - monitor socket events
SYNOPSIS
SYNOPSIS
--------
--------
*int zmq_socket_monitor_versioned (void '*socket', char '*endpoint', uint64_t 'events', int 'event_version');*
*int zmq_socket_monitor_versioned (void '*socket', char '*endpoint', uint64_t 'events', int 'event_version', int 'type');*
*int zmq_socket_monitor_versioned_typed (
void '*socket', char '*endpoint', uint64_t 'events', int 'event_version', int 'type');*
*int zmq_socket_monitor_pipes_stats (void '*socket');*
*int zmq_socket_monitor_pipes_stats (void '*socket');*
...
@@ -58,11 +56,8 @@ connection uses a bound or connected local endpoint.
...
@@ -58,11 +56,8 @@ connection uses a bound or connected local endpoint.
Note that the format of the second and further frames, and also the number of
Note that the format of the second and further frames, and also the number of
frames, may be different for events added in the future.
frames, may be different for events added in the future.
The _zmq_socket_monitor_versioned_typed()_ is a generalisation of
_zmq_socket_monitor_versioned_ that supports more monitoring socket types.
The 'type' argument is used to specify the type of the monitoring socket.
The 'type' argument is used to specify the type of the monitoring socket.
Supported types are 'ZMQ_PAIR' (which is the equivalent of
Supported types are 'ZMQ_PAIR', 'ZMQ_PUB' and 'ZMQ_PUSH'. Note that consumers
_zmq_socket_monitor_versioned_), 'ZMQ_PUB' and 'ZMQ_PUSH'. Note that consumers
of the events will have to be compatible with the socket type, for instance a
of the events will have to be compatible with the socket type, for instance a
monitoring socket of type 'ZMQ_PUB' will require consumers of type 'ZMQ_SUB'.
monitoring socket of type 'ZMQ_PUB' will require consumers of type 'ZMQ_SUB'.
In the case that the monitoring socket type is of 'ZMQ_PUB', the multipart
In the case that the monitoring socket type is of 'ZMQ_PUB', the multipart
...
@@ -224,19 +219,6 @@ The 0MQ 'context' associated with the specified 'socket' was terminated.
...
@@ -224,19 +219,6 @@ The 0MQ 'context' associated with the specified 'socket' was terminated.
The transport protocol of the monitor 'endpoint' is not supported. Monitor
The transport protocol of the monitor 'endpoint' is not supported. Monitor
sockets are required to use the inproc:// transport.
sockets are required to use the inproc:// transport.
*EINVAL*::
The monitor 'endpoint' supplied does not exist.
ERRORS - _zmq_socket_monitor_typed()_
-------------------------------
*ETERM*::
The 0MQ 'context' associated with the specified 'socket' was terminated.
*EPROTONOSUPPORT*::
The transport protocol of the monitor 'endpoint' is not supported. Monitor
sockets are required to use the inproc:// transport.
*EINVAL*::
*EINVAL*::
The monitor 'endpoint' supplied does not exist or the specified socket 'type'
The monitor 'endpoint' supplied does not exist or the specified socket 'type'
is not supported.
is not supported.
...
...
include/zmq.h
View file @
9cb266ed
...
@@ -732,11 +732,7 @@ ZMQ_EXPORT int zmq_socket_get_peer_state (void *socket,
...
@@ -732,11 +732,7 @@ ZMQ_EXPORT int zmq_socket_get_peer_state (void *socket,
#define ZMQ_EVENT_ALL_V1 ZMQ_EVENT_ALL
#define ZMQ_EVENT_ALL_V1 ZMQ_EVENT_ALL
#define ZMQ_EVENT_ALL_V2 ZMQ_EVENT_ALL_V1 | ZMQ_EVENT_PIPES_STATS
#define ZMQ_EVENT_ALL_V2 ZMQ_EVENT_ALL_V1 | ZMQ_EVENT_PIPES_STATS
ZMQ_EXPORT
int
zmq_socket_monitor_versioned
(
void
*
s_
,
ZMQ_EXPORT
int
zmq_socket_monitor_versioned
(
const
char
*
addr_
,
uint64_t
events_
,
int
event_version_
);
ZMQ_EXPORT
int
zmq_socket_monitor_versioned_typed
(
void
*
s_
,
const
char
*
addr_
,
uint64_t
events_
,
int
event_version_
,
int
type_
);
void
*
s_
,
const
char
*
addr_
,
uint64_t
events_
,
int
event_version_
,
int
type_
);
ZMQ_EXPORT
int
zmq_socket_monitor_pipes_stats
(
void
*
s
);
ZMQ_EXPORT
int
zmq_socket_monitor_pipes_stats
(
void
*
s
);
...
...
src/xpub.cpp
View file @
9cb266ed
...
@@ -44,9 +44,7 @@ zmq::xpub_t::xpub_t (class ctx_t *parent_, uint32_t tid_, int sid_) :
...
@@ -44,9 +44,7 @@ zmq::xpub_t::xpub_t (class ctx_t *parent_, uint32_t tid_, int sid_) :
_more
(
false
),
_more
(
false
),
_lossy
(
true
),
_lossy
(
true
),
_manual
(
false
),
_manual
(
false
),
#ifdef ZMQ_BUILD_DRAFT_API
_send_last_pipe
(
false
),
_send_last_pipe
(
false
),
#endif
_pending_pipes
(),
_pending_pipes
(),
_welcome_msg
()
_welcome_msg
()
{
{
...
@@ -193,10 +191,8 @@ int zmq::xpub_t::xsetsockopt (int option_,
...
@@ -193,10 +191,8 @@ int zmq::xpub_t::xsetsockopt (int option_,
size_t
optvallen_
)
size_t
optvallen_
)
{
{
if
(
option_
==
ZMQ_XPUB_VERBOSE
||
option_
==
ZMQ_XPUB_VERBOSER
if
(
option_
==
ZMQ_XPUB_VERBOSE
||
option_
==
ZMQ_XPUB_VERBOSER
#ifdef ZMQ_BUILD_DRAFT_API
||
option_
==
ZMQ_XPUB_MANUAL_LAST_VALUE
||
option_
==
ZMQ_XPUB_NODROP
||
option_
==
ZMQ_XPUB_MANUAL_LAST_VALUE
||
option_
==
ZMQ_XPUB_MANUAL
)
{
#endif
||
option_
==
ZMQ_XPUB_NODROP
||
option_
==
ZMQ_XPUB_MANUAL
)
{
if
(
optvallen_
!=
sizeof
(
int
)
if
(
optvallen_
!=
sizeof
(
int
)
||
*
static_cast
<
const
int
*>
(
optval_
)
<
0
)
{
||
*
static_cast
<
const
int
*>
(
optval_
)
<
0
)
{
errno
=
EINVAL
;
errno
=
EINVAL
;
...
@@ -208,11 +204,9 @@ int zmq::xpub_t::xsetsockopt (int option_,
...
@@ -208,11 +204,9 @@ int zmq::xpub_t::xsetsockopt (int option_,
}
else
if
(
option_
==
ZMQ_XPUB_VERBOSER
)
{
}
else
if
(
option_
==
ZMQ_XPUB_VERBOSER
)
{
_verbose_subs
=
(
*
static_cast
<
const
int
*>
(
optval_
)
!=
0
);
_verbose_subs
=
(
*
static_cast
<
const
int
*>
(
optval_
)
!=
0
);
_verbose_unsubs
=
_verbose_subs
;
_verbose_unsubs
=
_verbose_subs
;
#ifdef ZMQ_BUILD_DRAFT_API
}
else
if
(
option_
==
ZMQ_XPUB_MANUAL_LAST_VALUE
)
{
}
else
if
(
option_
==
ZMQ_XPUB_MANUAL_LAST_VALUE
)
{
_manual
=
(
*
static_cast
<
const
int
*>
(
optval_
)
!=
0
);
_manual
=
(
*
static_cast
<
const
int
*>
(
optval_
)
!=
0
);
_send_last_pipe
=
_manual
;
_send_last_pipe
=
_manual
;
#endif
}
else
if
(
option_
==
ZMQ_XPUB_NODROP
)
}
else
if
(
option_
==
ZMQ_XPUB_NODROP
)
_lossy
=
(
*
static_cast
<
const
int
*>
(
optval_
)
==
0
);
_lossy
=
(
*
static_cast
<
const
int
*>
(
optval_
)
==
0
);
else
if
(
option_
==
ZMQ_XPUB_MANUAL
)
else
if
(
option_
==
ZMQ_XPUB_MANUAL
)
...
@@ -276,13 +270,11 @@ void zmq::xpub_t::mark_as_matching (pipe_t *pipe_, xpub_t *self_)
...
@@ -276,13 +270,11 @@ void zmq::xpub_t::mark_as_matching (pipe_t *pipe_, xpub_t *self_)
self_
->
_dist
.
match
(
pipe_
);
self_
->
_dist
.
match
(
pipe_
);
}
}
#ifdef ZMQ_BUILD_DRAFT_API
void
zmq
::
xpub_t
::
mark_last_pipe_as_matching
(
pipe_t
*
pipe_
,
xpub_t
*
self_
)
void
zmq
::
xpub_t
::
mark_last_pipe_as_matching
(
pipe_t
*
pipe_
,
xpub_t
*
self_
)
{
{
if
(
self_
->
_last_pipe
==
pipe_
)
if
(
self_
->
_last_pipe
==
pipe_
)
self_
->
_dist
.
match
(
pipe_
);
self_
->
_dist
.
match
(
pipe_
);
}
}
#endif
int
zmq
::
xpub_t
::
xsend
(
msg_t
*
msg_
)
int
zmq
::
xpub_t
::
xsend
(
msg_t
*
msg_
)
{
{
...
@@ -290,8 +282,7 @@ int zmq::xpub_t::xsend (msg_t *msg_)
...
@@ -290,8 +282,7 @@ int zmq::xpub_t::xsend (msg_t *msg_)
// For the first part of multi-part message, find the matching pipes.
// For the first part of multi-part message, find the matching pipes.
if
(
!
_more
)
{
if
(
!
_more
)
{
#ifdef ZMQ_BUILD_DRAFT_API
if
(
unlikely
(
_manual
&&
_last_pipe
&&
_send_last_pipe
))
{
if
(
_manual
&&
_last_pipe
&&
_send_last_pipe
)
{
_subscriptions
.
match
(
static_cast
<
unsigned
char
*>
(
msg_
->
data
()),
_subscriptions
.
match
(
static_cast
<
unsigned
char
*>
(
msg_
->
data
()),
msg_
->
size
(),
mark_last_pipe_as_matching
,
msg_
->
size
(),
mark_last_pipe_as_matching
,
this
);
this
);
...
@@ -299,10 +290,6 @@ int zmq::xpub_t::xsend (msg_t *msg_)
...
@@ -299,10 +290,6 @@ int zmq::xpub_t::xsend (msg_t *msg_)
}
else
}
else
_subscriptions
.
match
(
static_cast
<
unsigned
char
*>
(
msg_
->
data
()),
_subscriptions
.
match
(
static_cast
<
unsigned
char
*>
(
msg_
->
data
()),
msg_
->
size
(),
mark_as_matching
,
this
);
msg_
->
size
(),
mark_as_matching
,
this
);
#else
_subscriptions
.
match
(
static_cast
<
unsigned
char
*>
(
msg_
->
data
()),
msg_
->
size
(),
mark_as_matching
,
this
);
#endif
// If inverted matching is used, reverse the selection now
// If inverted matching is used, reverse the selection now
if
(
options
.
invert_matching
)
{
if
(
options
.
invert_matching
)
{
_dist
.
reverse_match
();
_dist
.
reverse_match
();
...
...
src/xpub.hpp
View file @
9cb266ed
...
@@ -99,13 +99,11 @@ class xpub_t : public socket_base_t
...
@@ -99,13 +99,11 @@ class xpub_t : public socket_base_t
// Subscriptions will not bed added automatically, only after calling set option with ZMQ_SUBSCRIBE or ZMQ_UNSUBSCRIBE
// Subscriptions will not bed added automatically, only after calling set option with ZMQ_SUBSCRIBE or ZMQ_UNSUBSCRIBE
bool
_manual
;
bool
_manual
;
#ifdef ZMQ_BUILD_DRAFT_API
// Send message to the last pipe, only used if xpub is on manual and after calling set option with ZMQ_SUBSCRIBE
// Send message to the last pipe, only used if xpub is on manual and after calling set option with ZMQ_SUBSCRIBE
bool
_send_last_pipe
;
bool
_send_last_pipe
;
// Function to be applied to match the last pipe.
// Function to be applied to match the last pipe.
static
void
mark_last_pipe_as_matching
(
zmq
::
pipe_t
*
pipe_
,
xpub_t
*
arg_
);
static
void
mark_last_pipe_as_matching
(
zmq
::
pipe_t
*
pipe_
,
xpub_t
*
arg_
);
#endif
// Last pipe that sent subscription message, only used if xpub is on manual
// Last pipe that sent subscription message, only used if xpub is on manual
pipe_t
*
_last_pipe
;
pipe_t
*
_last_pipe
;
...
...
src/zmq.cpp
View file @
9cb266ed
...
@@ -267,30 +267,18 @@ int zmq_getsockopt (void *s_, int option_, void *optval_, size_t *optvallen_)
...
@@ -267,30 +267,18 @@ int zmq_getsockopt (void *s_, int option_, void *optval_, size_t *optvallen_)
return
s
->
getsockopt
(
option_
,
optval_
,
optvallen_
);
return
s
->
getsockopt
(
option_
,
optval_
,
optvallen_
);
}
}
int
zmq_socket_monitor_versioned
(
void
*
s_
,
int
zmq_socket_monitor_versioned
(
const
char
*
addr_
,
void
*
s_
,
const
char
*
addr_
,
uint64_t
events_
,
int
event_version_
,
int
type_
)
uint64_t
events_
,
int
event_version_
)
{
{
zmq
::
socket_base_t
*
s
=
as_socket_base_t
(
s_
);
zmq
::
socket_base_t
*
s
=
as_socket_base_t
(
s_
);
if
(
!
s
)
if
(
!
s
)
return
-
1
;
return
-
1
;
return
s
->
monitor
(
addr_
,
events_
,
event_version_
,
ZMQ_PAIR
);
return
s
->
monitor
(
addr_
,
events_
,
event_version_
,
type_
);
}
}
int
zmq_socket_monitor
(
void
*
s_
,
const
char
*
addr_
,
int
events_
)
int
zmq_socket_monitor
(
void
*
s_
,
const
char
*
addr_
,
int
events_
)
{
{
return
zmq_socket_monitor_versioned
(
s_
,
addr_
,
events_
,
1
);
return
zmq_socket_monitor_versioned
(
s_
,
addr_
,
events_
,
1
,
ZMQ_PAIR
);
}
int
zmq_socket_monitor_versioned_typed
(
void
*
s_
,
const
char
*
addr_
,
uint64_t
events_
,
int
event_version_
,
int
type_
)
{
zmq
::
socket_base_t
*
s
=
as_socket_base_t
(
s_
);
if
(
!
s
)
return
-
1
;
return
s
->
monitor
(
addr_
,
events_
,
event_version_
,
type_
);
}
}
int
zmq_join
(
void
*
s_
,
const
char
*
group_
)
int
zmq_join
(
void
*
s_
,
const
char
*
group_
)
...
...
src/zmq_draft.h
View file @
9cb266ed
...
@@ -130,11 +130,7 @@ int zmq_socket_get_peer_state (void *socket_,
...
@@ -130,11 +130,7 @@ int zmq_socket_get_peer_state (void *socket_,
#define ZMQ_EVENT_ALL_V1 ZMQ_EVENT_ALL
#define ZMQ_EVENT_ALL_V1 ZMQ_EVENT_ALL
#define ZMQ_EVENT_ALL_V2 ZMQ_EVENT_ALL_V1 | ZMQ_EVENT_PIPES_STATS
#define ZMQ_EVENT_ALL_V2 ZMQ_EVENT_ALL_V1 | ZMQ_EVENT_PIPES_STATS
int
zmq_socket_monitor_versioned
(
void
*
s_
,
int
zmq_socket_monitor_versioned
(
const
char
*
addr_
,
uint64_t
events_
,
int
event_version_
);
int
zmq_socket_monitor_versioned_typed
(
void
*
s_
,
const
char
*
addr_
,
uint64_t
events_
,
int
event_version_
,
int
type_
);
void
*
s_
,
const
char
*
addr_
,
uint64_t
events_
,
int
event_version_
,
int
type_
);
int
zmq_socket_monitor_pipes_stats
(
void
*
s_
);
int
zmq_socket_monitor_pipes_stats
(
void
*
s_
);
...
...
tests/test_monitor.cpp
View file @
9cb266ed
...
@@ -126,21 +126,21 @@ void test_monitor_basic ()
...
@@ -126,21 +126,21 @@ void test_monitor_basic ()
#if (defined ZMQ_CURRENT_EVENT_VERSION && ZMQ_CURRENT_EVENT_VERSION >= 2) \
#if (defined ZMQ_CURRENT_EVENT_VERSION && ZMQ_CURRENT_EVENT_VERSION >= 2) \
|| (defined ZMQ_CURRENT_EVENT_VERSION \
|| (defined ZMQ_CURRENT_EVENT_VERSION \
&& ZMQ_CURRENT_EVENT_VERSION_DRAFT >= 2)
&& ZMQ_CURRENT_EVENT_VERSION_DRAFT >= 2)
void
test_monitor_versioned_
typed_
invalid_socket_type
()
void
test_monitor_versioned_invalid_socket_type
()
{
{
void
*
client
=
test_context_socket
(
ZMQ_DEALER
);
void
*
client
=
test_context_socket
(
ZMQ_DEALER
);
// Socket monitoring only works with ZMQ_PAIR, ZMQ_PUB and ZMQ_PUSH.
// Socket monitoring only works with ZMQ_PAIR, ZMQ_PUB and ZMQ_PUSH.
TEST_ASSERT_FAILURE_ERRNO
(
TEST_ASSERT_FAILURE_ERRNO
(
EINVAL
,
zmq_socket_monitor_versioned
_typed
(
EINVAL
,
zmq_socket_monitor_versioned
(
client
,
"inproc://invalid-socket-type"
,
0
,
2
,
ZMQ_CLIENT
));
client
,
"inproc://invalid-socket-type"
,
0
,
2
,
ZMQ_CLIENT
));
test_context_socket_close_zero_linger
(
client
);
test_context_socket_close_zero_linger
(
client
);
}
}
void
test_monitor_versioned_
typed_
basic
(
bind_function_t
bind_function_
,
void
test_monitor_versioned_basic
(
bind_function_t
bind_function_
,
const
char
*
expected_prefix_
,
const
char
*
expected_prefix_
,
int
type_
)
int
type_
)
{
{
char
server_endpoint
[
MAX_SOCKET_STRING
];
char
server_endpoint
[
MAX_SOCKET_STRING
];
char
client_mon_endpoint
[
MAX_SOCKET_STRING
];
char
client_mon_endpoint
[
MAX_SOCKET_STRING
];
...
@@ -158,9 +158,9 @@ void test_monitor_versioned_typed_basic (bind_function_t bind_function_,
...
@@ -158,9 +158,9 @@ void test_monitor_versioned_typed_basic (bind_function_t bind_function_,
void
*
server
=
test_context_socket
(
ZMQ_DEALER
);
void
*
server
=
test_context_socket
(
ZMQ_DEALER
);
// Monitor all events on client and server sockets
// Monitor all events on client and server sockets
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_socket_monitor_versioned
_typed
(
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_socket_monitor_versioned
(
client
,
client_mon_endpoint
,
ZMQ_EVENT_ALL_V2
,
2
,
type_
));
client
,
client_mon_endpoint
,
ZMQ_EVENT_ALL_V2
,
2
,
type_
));
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_socket_monitor_versioned
_typed
(
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_socket_monitor_versioned
(
server
,
server_mon_endpoint
,
ZMQ_EVENT_ALL_V2
,
2
,
type_
));
server
,
server_mon_endpoint
,
ZMQ_EVENT_ALL_V2
,
2
,
type_
));
// Choose the appropriate consumer socket type.
// Choose the appropriate consumer socket type.
...
@@ -267,35 +267,33 @@ void test_monitor_versioned_typed_basic (bind_function_t bind_function_,
...
@@ -267,35 +267,33 @@ void test_monitor_versioned_typed_basic (bind_function_t bind_function_,
void
test_monitor_versioned_basic_tcp_ipv4
()
void
test_monitor_versioned_basic_tcp_ipv4
()
{
{
static
const
char
prefix
[]
=
"tcp://127.0.0.1:"
;
static
const
char
prefix
[]
=
"tcp://127.0.0.1:"
;
// Calling 'monitor_versioned_typed' with ZMQ_PAIR is the equivalent of
test_monitor_versioned_basic
(
bind_loopback_ipv4
,
prefix
,
ZMQ_PAIR
);
// calling 'monitor_versioned'.
test_monitor_versioned_basic
(
bind_loopback_ipv4
,
prefix
,
ZMQ_PUB
);
test_monitor_versioned_typed_basic
(
bind_loopback_ipv4
,
prefix
,
ZMQ_PAIR
);
test_monitor_versioned_basic
(
bind_loopback_ipv4
,
prefix
,
ZMQ_PUSH
);
test_monitor_versioned_typed_basic
(
bind_loopback_ipv4
,
prefix
,
ZMQ_PUB
);
test_monitor_versioned_typed_basic
(
bind_loopback_ipv4
,
prefix
,
ZMQ_PUSH
);
}
}
void
test_monitor_versioned_basic_tcp_ipv6
()
void
test_monitor_versioned_basic_tcp_ipv6
()
{
{
static
const
char
prefix
[]
=
"tcp://[::1]:"
;
static
const
char
prefix
[]
=
"tcp://[::1]:"
;
test_monitor_versioned_
typed_
basic
(
bind_loopback_ipv6
,
prefix
,
ZMQ_PAIR
);
test_monitor_versioned_basic
(
bind_loopback_ipv6
,
prefix
,
ZMQ_PAIR
);
test_monitor_versioned_
typed_
basic
(
bind_loopback_ipv6
,
prefix
,
ZMQ_PUB
);
test_monitor_versioned_basic
(
bind_loopback_ipv6
,
prefix
,
ZMQ_PUB
);
test_monitor_versioned_
typed_
basic
(
bind_loopback_ipv6
,
prefix
,
ZMQ_PUSH
);
test_monitor_versioned_basic
(
bind_loopback_ipv6
,
prefix
,
ZMQ_PUSH
);
}
}
void
test_monitor_versioned_basic_ipc
()
void
test_monitor_versioned_basic_ipc
()
{
{
static
const
char
prefix
[]
=
"ipc://"
;
static
const
char
prefix
[]
=
"ipc://"
;
test_monitor_versioned_
typed_
basic
(
bind_loopback_ipc
,
prefix
,
ZMQ_PAIR
);
test_monitor_versioned_basic
(
bind_loopback_ipc
,
prefix
,
ZMQ_PAIR
);
test_monitor_versioned_
typed_
basic
(
bind_loopback_ipc
,
prefix
,
ZMQ_PUB
);
test_monitor_versioned_basic
(
bind_loopback_ipc
,
prefix
,
ZMQ_PUB
);
test_monitor_versioned_
typed_
basic
(
bind_loopback_ipc
,
prefix
,
ZMQ_PUSH
);
test_monitor_versioned_basic
(
bind_loopback_ipc
,
prefix
,
ZMQ_PUSH
);
}
}
void
test_monitor_versioned_basic_tipc
()
void
test_monitor_versioned_basic_tipc
()
{
{
static
const
char
prefix
[]
=
"tipc://"
;
static
const
char
prefix
[]
=
"tipc://"
;
test_monitor_versioned_
typed_
basic
(
bind_loopback_tipc
,
prefix
,
ZMQ_PAIR
);
test_monitor_versioned_basic
(
bind_loopback_tipc
,
prefix
,
ZMQ_PAIR
);
test_monitor_versioned_
typed_
basic
(
bind_loopback_tipc
,
prefix
,
ZMQ_PUB
);
test_monitor_versioned_basic
(
bind_loopback_tipc
,
prefix
,
ZMQ_PUB
);
test_monitor_versioned_
typed_
basic
(
bind_loopback_tipc
,
prefix
,
ZMQ_PUSH
);
test_monitor_versioned_basic
(
bind_loopback_tipc
,
prefix
,
ZMQ_PUSH
);
}
}
#ifdef ZMQ_EVENT_PIPES_STATS
#ifdef ZMQ_EVENT_PIPES_STATS
...
@@ -310,7 +308,7 @@ void test_monitor_versioned_stats (bind_function_t bind_function_,
...
@@ -310,7 +308,7 @@ void test_monitor_versioned_stats (bind_function_t bind_function_,
void
*
push
=
test_context_socket
(
ZMQ_PUSH
);
void
*
push
=
test_context_socket
(
ZMQ_PUSH
);
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_socket_monitor_versioned
(
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_socket_monitor_versioned
(
push
,
"inproc://monitor-push"
,
ZMQ_EVENT_PIPES_STATS
,
2
));
push
,
"inproc://monitor-push"
,
ZMQ_EVENT_PIPES_STATS
,
2
,
ZMQ_PAIR
));
// Should fail if there are no pipes to monitor
// Should fail if there are no pipes to monitor
TEST_ASSERT_FAILURE_ERRNO
(
EAGAIN
,
zmq_socket_monitor_pipes_stats
(
push
));
TEST_ASSERT_FAILURE_ERRNO
(
EAGAIN
,
zmq_socket_monitor_pipes_stats
(
push
));
...
@@ -437,7 +435,7 @@ int main ()
...
@@ -437,7 +435,7 @@ int main ()
#if (defined ZMQ_CURRENT_EVENT_VERSION && ZMQ_CURRENT_EVENT_VERSION >= 2) \
#if (defined ZMQ_CURRENT_EVENT_VERSION && ZMQ_CURRENT_EVENT_VERSION >= 2) \
|| (defined ZMQ_CURRENT_EVENT_VERSION \
|| (defined ZMQ_CURRENT_EVENT_VERSION \
&& ZMQ_CURRENT_EVENT_VERSION_DRAFT >= 2)
&& ZMQ_CURRENT_EVENT_VERSION_DRAFT >= 2)
RUN_TEST
(
test_monitor_versioned_
typed_
invalid_socket_type
);
RUN_TEST
(
test_monitor_versioned_invalid_socket_type
);
RUN_TEST
(
test_monitor_versioned_basic_tcp_ipv4
);
RUN_TEST
(
test_monitor_versioned_basic_tcp_ipv4
);
RUN_TEST
(
test_monitor_versioned_basic_tcp_ipv6
);
RUN_TEST
(
test_monitor_versioned_basic_tcp_ipv6
);
RUN_TEST
(
test_monitor_versioned_basic_ipc
);
RUN_TEST
(
test_monitor_versioned_basic_ipc
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment