aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/iomgr/udp_server.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/lib/iomgr/udp_server.h')
-rw-r--r--src/core/lib/iomgr/udp_server.h24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/core/lib/iomgr/udp_server.h b/src/core/lib/iomgr/udp_server.h
index 8cc08d321d..02e3acb7f5 100644
--- a/src/core/lib/iomgr/udp_server.h
+++ b/src/core/lib/iomgr/udp_server.h
@@ -30,17 +30,17 @@ struct grpc_server;
/* Forward decl of grpc_udp_server */
typedef struct grpc_udp_server grpc_udp_server;
-/* Called when data is available to read from the socket. */
-typedef void (*grpc_udp_server_read_cb)(grpc_exec_ctx* exec_ctx, grpc_fd* emfd,
- void* user_data);
+/* Called when data is available to read from the socket.
+ * Return true if there is more data to read from fd. */
+typedef bool (*grpc_udp_server_read_cb)(grpc_fd* emfd, void* user_data);
-/* Called when the socket is writeable. */
-typedef void (*grpc_udp_server_write_cb)(grpc_exec_ctx* exec_ctx, grpc_fd* emfd,
- void* user_data);
+/* Called when the socket is writeable. The given closure should be scheduled
+ * when the socket becomes blocked next time. */
+typedef void (*grpc_udp_server_write_cb)(grpc_fd* emfd, void* user_data,
+ grpc_closure* notify_on_write_closure);
/* Called when the grpc_fd is about to be orphaned (and the FD closed). */
-typedef void (*grpc_udp_server_orphan_cb)(grpc_exec_ctx* exec_ctx,
- grpc_fd* emfd,
+typedef void (*grpc_udp_server_orphan_cb)(grpc_fd* emfd,
grpc_closure* shutdown_fd_callback,
void* user_data);
@@ -48,9 +48,8 @@ typedef void (*grpc_udp_server_orphan_cb)(grpc_exec_ctx* exec_ctx,
grpc_udp_server* grpc_udp_server_create(const grpc_channel_args* args);
/* Start listening to bound ports. user_data is passed to callbacks. */
-void grpc_udp_server_start(grpc_exec_ctx* exec_ctx, grpc_udp_server* udp_server,
- grpc_pollset** pollsets, size_t pollset_count,
- void* user_data);
+void grpc_udp_server_start(grpc_udp_server* udp_server, grpc_pollset** pollsets,
+ size_t pollset_count, void* user_data);
int grpc_udp_server_get_fd(grpc_udp_server* s, unsigned port_index);
@@ -70,7 +69,6 @@ int grpc_udp_server_add_port(grpc_udp_server* s,
grpc_udp_server_write_cb write_cb,
grpc_udp_server_orphan_cb orphan_cb);
-void grpc_udp_server_destroy(grpc_exec_ctx* exec_ctx, grpc_udp_server* server,
- grpc_closure* on_done);
+void grpc_udp_server_destroy(grpc_udp_server* server, grpc_closure* on_done);
#endif /* GRPC_CORE_LIB_IOMGR_UDP_SERVER_H */