Go to the documentation of this file.
29 #define CHECK_HANDLE(handle) \
30 ASSERT((uv_udp_t*)(handle) == &server || (uv_udp_t*)(handle) == &client)
32 #define MULTICAST_ADDR "239.255.0.1"
46 size_t suggested_size,
48 static char slab[65536];
76 struct sockaddr_in
addr;
87 (
const struct sockaddr*) &
addr,
95 const struct sockaddr*
addr,
101 ASSERT(0 &&
"unexpected error");
112 ASSERT(!memcmp(
"PING",
buf->base, nread));
121 char source_addr[64];
123 r =
uv_ip4_name((
const struct sockaddr_in*)
addr, source_addr,
sizeof(source_addr));
129 #if !defined(__OpenBSD__) && !defined(__NetBSD__)
142 struct sockaddr_in
addr;
static int sv_send_cb_called
#define CHECK_HANDLE(handle)
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)
UV_EXTERN int uv_udp_set_membership(uv_udp_t *handle, const char *multicast_addr, const char *interface_addr, uv_membership membership)
UV_EXTERN int uv_run(uv_loop_t *, uv_run_mode mode)
static int cl_recv_cb_called
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 uv_loop_t * uv_default_loop(void)
UV_EXTERN int uv_udp_init(uv_loop_t *, uv_udp_t *handle)
static void alloc_cb(uv_handle_t *handle, size_t suggested_size, uv_buf_t *buf)
UV_EXTERN int uv_ip4_name(const struct sockaddr_in *src, char *dst, size_t size)
static int do_send(uv_udp_send_t *send_req)
static int close_cb_called
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)
UV_EXTERN int uv_udp_set_source_membership(uv_udp_t *handle, const char *multicast_addr, const char *interface_addr, const char *source_addr, uv_membership membership)
TEST_IMPL(udp_multicast_join)
UV_EXTERN uv_buf_t uv_buf_init(char *base, unsigned int len)
UV_REQ_FIELDS uv_udp_t * handle
#define RETURN_SKIP(explanation)
static uv_udp_send_t send_req
static void cl_recv_cb(uv_udp_t *handle, ssize_t nread, const uv_buf_t *buf, const struct sockaddr *addr, unsigned flags)
static uv_udp_send_t req_ss
static void sv_send_cb(uv_udp_send_t *req, int status)
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:27