Go to the documentation of this file.
9 #define CONTENT_SIZE 13
10 #define CONTENT_SIZE_MAX 32
11 #define ROUTING_ID_SIZE 10
12 #define ROUTING_ID_SIZE_MAX 32
54 char endpoint_source[256];
55 snprintf (endpoint_source, 256 *
sizeof (
char),
"inproc://endpoint%d",
76 rand () % 0xFFFF, rand () % 0xFFFF);
89 bool keep_sending =
true;
93 for (centitick = 0; centitick < 20; centitick++) {
97 size_t sz =
sizeof (rcvmore);
103 "client receive - routing_id = %s content = %s\n",
104 routing_id, content);
118 "client receive - routing_id = %s command = %s\n",
119 routing_id, content);
120 if (memcmp (content,
"TERMINATE", 9) == 0) {
124 if (memcmp (content,
"STOP", 4) == 0) {
125 keep_sending =
false;
134 "request #%03d", ++request_nbr);
136 printf (
"client send - routing_id = %s request #%03d\n",
137 routing_id, request_nbr);
180 for (thread_nbr = 0; thread_nbr <
QT_WORKERS; thread_nbr++)
185 char endpoint_source[256];
190 endpoint_receivers[
i],
ZMQ_LINGER, &linger,
sizeof (linger)));
191 snprintf (endpoint_source, 256 *
sizeof (
char),
"inproc://endpoint%d",
194 zmq_bind (endpoint_receivers[
i], endpoint_source));
204 for (thread_nbr = 0; thread_nbr <
QT_WORKERS; thread_nbr++)
241 bool keep_sending =
true;
248 printf (
"server_worker receives command = %s\n", content);
249 if (memcmp (content,
"TERMINATE", 9) == 0)
251 if (memcmp (content,
"STOP", 4) == 0)
252 keep_sending =
false;
261 printf (
"server receive - routing_id = %s content = %s\n",
262 routing_id, content);
266 int reply, replies = rand () % 5;
267 for (reply = 0; reply < replies; reply++) {
269 msleep (rand () % 10 + 1);
273 printf (
"server send - routing_id = %s reply\n",
317 printf (
"stopping all clients and server workers\n");
323 printf (
"shutting down all clients and server workers\n");
#define TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len)
ZMQ_EXPORT void * zmq_threadstart(zmq_thread_fn *func_, void *arg_)
void msleep(int milliseconds_)
ZMQ_EXPORT int zmq_poll(zmq_pollitem_t *items_, int nitems_, long timeout_)
ZMQ_EXPORT void * zmq_ctx_new(void)
void setup_test_context()
void bind_loopback_ipv4(void *socket_, char *my_endpoint_, size_t len_)
void teardown_test_context()
void * get_test_context()
#define TEST_ASSERT_FALSE(condition)
ZMQ_EXPORT int zmq_ctx_destroy(void *context_)
char * s_recv(void *socket_)
ZMQ_EXPORT int zmq_connect(void *s_, const char *addr_)
ZMQ_EXPORT int zmq_atomic_counter_inc(void *counter_)
int snprintf(char *str, size_t size, const char *format,...)
ZMQ_EXPORT int zmq_setsockopt(void *s_, int option_, const void *optval_, size_t optvallen_)
ZMQ_EXPORT void zmq_threadclose(void *thread_)
ZMQ_EXPORT void * zmq_atomic_counter_new(void)
char my_endpoint[MAX_SOCKET_STRING]
#define MAX_SOCKET_STRING
ZMQ_EXPORT int zmq_bind(void *s_, const char *addr_)
ZMQ_EXPORT void * zmq_socket(void *, int type_)
static void client_task(void *db_)
#define ROUTING_ID_SIZE_MAX
#define TEST_ASSERT_EQUAL_INT(expected, actual)
ZMQ_EXPORT int zmq_close(void *s_)
void send_string_expect_success(void *socket_, const char *str_, int flags_)
ZMQ_EXPORT int zmq_recv(void *s_, void *buf_, size_t len_, int flags_)
ZMQ_EXPORT int zmq_proxy(void *frontend_, void *backend_, void *capture_)
void setup_test_environment(int timeout_seconds_)
void * g_clients_pkts_out
ZMQ_EXPORT int zmq_send(void *s_, const void *buf_, size_t len_, int flags_)
void * g_workers_pkts_out
#define TEST_ASSERT_NOT_NULL(pointer)
#define TEST_ASSERT_SUCCESS_ERRNO(expr)
ZMQ_EXPORT int zmq_getsockopt(void *s_, int option_, void *optval_, size_t *optvallen_)
static void server_worker(void *)
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:59