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
8738ada0
Commit
8738ada0
authored
May 15, 2019
by
jean-airoldie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Problem: Endpoints are sometimes not unbound quick enough
Solution: Create a unique endpoint for each fcn call.
parent
7836ec75
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
10 deletions
+13
-10
test_monitor.cpp
tests/test_monitor.cpp
+13
-10
No files found.
tests/test_monitor.cpp
View file @
8738ada0
...
...
@@ -143,6 +143,15 @@ void test_monitor_versioned_typed_basic (bind_function_t bind_function_,
int
type_
)
{
char
server_endpoint
[
MAX_SOCKET_STRING
];
char
client_mon_endpoint
[
MAX_SOCKET_STRING
];
char
server_mon_endpoint
[
MAX_SOCKET_STRING
];
// Create a unique endpoint for each call so we don't have
// to wait for the sockets to unbind.
snprintf
(
client_mon_endpoint
,
MAX_SOCKET_STRING
,
"inproc://client%s%d"
,
expected_prefix_
,
type_
);
snprintf
(
server_mon_endpoint
,
MAX_SOCKET_STRING
,
"inproc://server%s%d"
,
expected_prefix_
,
type_
);
// We'll monitor these two sockets
void
*
client
=
test_context_socket
(
ZMQ_DEALER
);
...
...
@@ -150,9 +159,9 @@ void test_monitor_versioned_typed_basic (bind_function_t bind_function_,
// Monitor all events on client and server sockets
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_socket_monitor_versioned_typed
(
client
,
"inproc://monitor-client"
,
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
(
server
,
"inproc://monitor-server"
,
ZMQ_EVENT_ALL_V2
,
2
,
type_
));
server
,
server_mon_endpoint
,
ZMQ_EVENT_ALL_V2
,
2
,
type_
));
// Choose the appropriate consumer socket type.
int
mon_type
=
ZMQ_PAIR
;
...
...
@@ -181,10 +190,8 @@ void test_monitor_versioned_typed_basic (bind_function_t bind_function_,
}
// Connect these to the inproc endpoints so they'll get events
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_connect
(
client_mon
,
"inproc://monitor-client"
));
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_connect
(
server_mon
,
"inproc://monitor-server"
));
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_connect
(
client_mon
,
client_mon_endpoint
));
TEST_ASSERT_SUCCESS_ERRNO
(
zmq_connect
(
server_mon
,
server_mon_endpoint
));
// Now do a basic ping test
bind_function_
(
server
,
server_endpoint
,
sizeof
server_endpoint
);
...
...
@@ -255,10 +262,6 @@ void test_monitor_versioned_typed_basic (bind_function_t bind_function_,
// TODO why does this use zero_linger?
test_context_socket_close_zero_linger
(
client_mon
);
test_context_socket_close_zero_linger
(
server_mon
);
// Wait for the monitor socket's endpoint to be available
// for reuse.
msleep
(
SETTLE_TIME
);
}
void
test_monitor_versioned_basic_tcp_ipv4
()
...
...
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