Go to the documentation of this file.
10 #ifdef ZMQ_BUILD_DRAFT_API
11 bool send_msg_to_peer_if_ready (
void *router_,
const char *peer_routing_id_)
29 #ifdef ZMQ_BUILD_DRAFT_API
34 &mandatory,
sizeof (mandatory)));
36 const char *
my_endpoint =
"inproc://test_get_peer_state";
51 const char *dealer1_routing_id =
"X";
52 const char *dealer2_routing_id =
"Y";
82 const unsigned int count = 10000;
83 const unsigned int event_size = 2;
84 bool dealer2_blocked =
false;
85 unsigned int dealer1_sent = 0, dealer2_sent = 0, dealer1_received = 0;
87 for (
unsigned int iteration = 0; iteration <
count; ++iteration) {
90 for (
unsigned int event_no = 0; event_no < event_size; ++event_no) {
92 if (current_event.
socket == router
94 if (send_msg_to_peer_if_ready (router, dealer1_routing_id))
97 if (send_msg_to_peer_if_ready (router, dealer2_routing_id))
100 dealer2_blocked =
true;
102 if (current_event.
socket == dealer1
106 size_t more_size =
sizeof (more);
116 printf (
"dealer1_sent = %u, dealer2_sent = %u, dealer1_received = %u\n",
117 dealer1_sent, dealer2_sent, dealer1_received);
129 #ifdef ZMQ_BUILD_DRAFT_API
130 const char peer_routing_id[] =
"foo";
134 strlen (peer_routing_id));
143 strlen (peer_routing_id));
149 strlen (peer_routing_id));
173 &mandatory,
sizeof (mandatory)));
#define TEST_ASSERT_TRUE(condition)
SETUP_TEARDOWN_TESTCONTEXT void test_get_peer_state()
#define SETUP_TEARDOWN_TESTCONTEXT
void bind_loopback_ipv4(void *socket_, char *my_endpoint_, size_t len_)
#define TEST_ASSERT_FALSE(condition)
ZMQ_EXPORT int zmq_connect(void *s_, const char *addr_)
int zmq_socket_get_peer_state(void *s_, const void *routing_id_, size_t routing_id_size_)
ZMQ_EXPORT int zmq_setsockopt(void *s_, int option_, const void *optval_, size_t optvallen_)
void * zmq_poller_new(void)
char my_endpoint[MAX_SOCKET_STRING]
#define MAX_SOCKET_STRING
ZMQ_EXPORT int zmq_bind(void *s_, const char *addr_)
void test_get_peer_state_corner_cases()
void * test_context_socket(int type_)
#define TEST_ASSERT_EQUAL_INT(expected, actual)
#define ZMQ_ROUTER_MANDATORY
void send_string_expect_success(void *socket_, const char *str_, int flags_)
int zmq_poller_add(void *poller_, void *s_, void *user_data_, short events_)
void recv_string_expect_success(void *socket_, const char *str_, int flags_)
void setup_test_environment(int timeout_seconds_)
#define TEST_ASSERT_SUCCESS_MESSAGE_ERRNO(expr, msg)
ZMQ_EXPORT int zmq_send(void *s_, const void *buf_, size_t len_, int flags_)
void * test_context_socket_close(void *socket_)
#define TEST_ASSERT_NOT_NULL(pointer)
#define TEST_ASSERT_SUCCESS_ERRNO(expr)
int zmq_poller_destroy(void **poller_p_)
ZMQ_EXPORT int zmq_getsockopt(void *s_, int option_, void *optval_, size_t *optvallen_)
int zmq_poller_wait_all(void *poller_, zmq_poller_event_t *events_, int n_events_, long timeout_)
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:59