30 #include "../include/zmq.h" 35 int main (
int argc,
char *argv [])
37 const char *connect_to;
46 unsigned long elapsed;
50 printf (
"usage: remote_lat <connect-to> <message-size> " 51 "<roundtrip-count>\n");
54 connect_to = argv [1];
55 message_size = atoi (argv [2]);
56 roundtrip_count = atoi (argv [3]);
60 printf (
"error in zmq_init: %s\n",
zmq_strerror (errno));
66 printf (
"error in zmq_socket: %s\n",
zmq_strerror (errno));
72 printf (
"error in zmq_connect: %s\n",
zmq_strerror (errno));
78 printf (
"error in zmq_msg_init_size: %s\n",
zmq_strerror (errno));
88 printf (
"error in zmq_sendmsg: %s\n",
zmq_strerror (errno));
93 printf (
"error in zmq_recvmsg: %s\n",
zmq_strerror (errno));
97 printf (
"message of incorrect size received\n");
106 printf (
"error in zmq_msg_close: %s\n",
zmq_strerror (errno));
110 latency = (double) elapsed / (roundtrip_count * 2);
112 printf (
"message size: %d [B]\n", (
int) message_size);
113 printf (
"roundtrip count: %d\n", (
int) roundtrip_count);
114 printf (
"average latency: %.3f [us]\n", (
double) latency);
118 printf (
"error in zmq_close: %s\n",
zmq_strerror (errno));
124 printf (
"error in zmq_ctx_term: %s\n",
zmq_strerror (errno));
static size_t message_size
ZMQ_EXPORT void * zmq_init(int io_threads)
ZMQ_EXPORT int zmq_recvmsg(void *s, zmq_msg_t *msg, int flags)
ZMQ_EXPORT unsigned long zmq_stopwatch_stop(void *watch_)
ZMQ_EXPORT void * zmq_msg_data(zmq_msg_t *msg)
ZMQ_EXPORT void * zmq_socket(void *, int type)
ZMQ_EXPORT int zmq_connect(void *s, const char *addr)
ZMQ_EXPORT int zmq_close(void *s)
ZMQ_EXPORT int zmq_sendmsg(void *s, zmq_msg_t *msg, int flags)
ZMQ_EXPORT const char * zmq_strerror(int errnum)
ZMQ_EXPORT int zmq_ctx_term(void *context)
ZMQ_EXPORT void * zmq_stopwatch_start(void)
ZMQ_EXPORT int zmq_msg_close(zmq_msg_t *msg)
ZMQ_EXPORT int zmq_msg_init_size(zmq_msg_t *msg, size_t size)
ZMQ_EXPORT size_t zmq_msg_size(zmq_msg_t *msg)
int main(int argc, char *argv[])
static int roundtrip_count