Go to the documentation of this file.
29 #define EXPECTED "RANG TANG DING DONG I AM THE JAPANESE SANDMAN"
31 #define TEST_DURATION 5000
33 #define BASE_PORT 12345
63 size_t suggested_size,
65 static char slab[65536];
103 (
const struct sockaddr*) &s->addr,
112 const struct sockaddr*
addr,
118 ASSERT(nread == UV_ECANCELED);
148 static int pummel(
unsigned int n_senders,
149 unsigned int n_receivers,
172 for (
i = 0;
i < n_receivers;
i++) {
174 struct sockaddr_in
addr;
188 for (
i = 0;
i < n_senders;
i++) {
198 (
const struct sockaddr*) &s->addr,
206 duration = duration / (
uint64_t) 1e6;
208 printf(
"udp_pummel_%dv%d: %.0f/s received, %.0f/s sent. "
209 "%u received, %u sent in %.1f seconds.\n",
224 BENCHMARK_IMPL(udp_pummel_##a##v##b) { \
225 return pummel(a, b, 0); \
227 BENCHMARK_IMPL(udp_timed_pummel_##a##v##b) { \
228 return pummel(a, b, TEST_DURATION); \
#define ARRAY_SIZE(array)
_Use_decl_annotations_ int __cdecl printf(const char *_Format,...)
static void close_cb(uv_handle_t *handle)
UV_EXTERN int uv_udp_send(uv_udp_send_t *req, uv_udp_t *handle, const uv_buf_t bufs[], unsigned int nbufs, const struct sockaddr *addr, uv_udp_send_cb send_cb)
static void send_cb(uv_udp_send_t *req, int status)
UV_EXTERN int uv_run(uv_loop_t *, uv_run_mode mode)
#define container_of(ptr, type, member)
UV_EXTERN void uv_unref(uv_handle_t *)
UV_EXTERN void uv_close(uv_handle_t *handle, uv_close_cb close_cb)
UV_EXTERN int uv_ip4_addr(const char *ip, int port, struct sockaddr_in *addr)
UV_EXTERN int uv_udp_init(uv_loop_t *, uv_udp_t *handle)
UV_EXTERN uv_loop_t * uv_default_loop(void)
unsigned __int64 uint64_t
static unsigned int recv_cb_called
static unsigned int packet_counter
static void recv_cb(uv_udp_t *handle, ssize_t nread, const uv_buf_t *buf, const struct sockaddr *addr, unsigned flags)
static struct sender_state senders[1024]
static int pummel(unsigned int n_senders, unsigned int n_receivers, unsigned long timeout)
UV_EXTERN int uv_udp_recv_start(uv_udp_t *handle, uv_alloc_cb alloc_cb, uv_udp_recv_cb recv_cb)
#define MAKE_VALGRIND_HAPPY()
UV_EXTERN int uv_udp_bind(uv_udp_t *handle, const struct sockaddr *addr, unsigned int flags)
static void alloc_cb(uv_handle_t *handle, size_t suggested_size, uv_buf_t *buf)
static struct receiver_state receivers[1024]
UV_EXTERN uint64_t uv_hrtime(void)
static unsigned int close_cb_called
static unsigned int send_cb_called
UV_EXTERN uv_buf_t uv_buf_init(char *base, unsigned int len)
UV_EXTERN int uv_timer_start(uv_timer_t *handle, uv_timer_cb cb, uint64_t timeout, uint64_t repeat)
static void timeout_cb(uv_timer_t *timer)
UV_EXTERN int uv_timer_init(uv_loop_t *, uv_timer_t *handle)
static uv_timer_t timer_handle
static uv_udp_send_t send_req
grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:46