19 #ifndef GRPC_CORE_LIB_IOMGR_SOCKET_UTILS_POSIX_H
20 #define GRPC_CORE_LIB_IOMGR_SOCKET_UTILS_POSIX_H
26 #include <sys/socket.h>
34 #ifdef GRPC_LINUX_ERRQUEUE
36 #define SO_ZEROCOPY 60
38 #ifndef SO_EE_ORIGIN_ZEROCOPY
39 #define SO_EE_ORIGIN_ZEROCOPY 5
grpc_fd_usage
How is an fd to be used?
Definition: socket_mutator.h:30
grpc_dualstack_mode
Definition: socket_utils_posix.h:116
@ GRPC_DSMODE_IPV6
Definition: socket_utils_posix.h:122
@ GRPC_DSMODE_DUALSTACK
Definition: socket_utils_posix.h:124
@ GRPC_DSMODE_IPV4
Definition: socket_utils_posix.h:120
@ GRPC_DSMODE_NONE
Definition: socket_utils_posix.h:118
grpc_error_handle grpc_set_socket_rcvbuf(int fd, int buffer_size_bytes)
grpc_error_handle grpc_set_socket_nonblocking(int fd, int non_blocking)
grpc_error_handle grpc_set_socket_ipv6_recvpktinfo_if_possible(int fd)
grpc_error_handle grpc_set_socket_no_sigpipe_if_possible(int fd)
grpc_error_handle grpc_set_socket_sndbuf(int fd, int buffer_size_bytes)
void config_default_tcp_user_timeout(bool enable, int timeout, bool is_client)
grpc_error_handle grpc_apply_socket_mutator_in_args(int fd, grpc_fd_usage usage, const grpc_channel_args *args)
grpc_error_handle grpc_set_socket_with_mutator(int fd, grpc_fd_usage usage, grpc_socket_mutator *mutator)
grpc_error_handle grpc_set_socket_low_latency(int fd, int low_latency)
grpc_error_handle grpc_create_dualstack_socket(const grpc_resolved_address *addr, int type, int protocol, grpc_dualstack_mode *dsmode, int *newfd)
int grpc_forbid_dualstack_sockets_for_testing
grpc_error_handle grpc_set_socket_ip_pktinfo_if_possible(int fd)
grpc_error_handle grpc_set_socket_zerocopy(int fd)
bool grpc_is_socket_reuse_port_supported()
grpc_error_handle grpc_create_dualstack_socket_using_factory(grpc_socket_factory *factory, const grpc_resolved_address *addr, int type, int protocol, grpc_dualstack_mode *dsmode, int *newfd)
grpc_error_handle grpc_set_socket_reuse_port(int fd, int reuse)
int grpc_set_socket_dualstack(int fd)
grpc_error_handle grpc_set_socket_reuse_addr(int fd, int reuse)
grpc_error_handle grpc_set_socket_cloexec(int fd, int close_on_exec)
int grpc_accept4(int sockfd, grpc_resolved_address *resolved_addr, int nonblock, int cloexec)
int grpc_ipv6_loopback_available(void)
grpc_error_handle grpc_set_socket_tcp_user_timeout(int fd, const grpc_channel_args *channel_args, bool is_client)
An array of arguments that can be passed around.
Definition: grpc_types.h:132
Definition: error_internal.h:41
Definition: resolve_address.h:44
The Socket Factory interface allows changes on socket options.
Definition: socket_factory_posix.h:42
The Socket Mutator interface allows changes on socket options.
Definition: socket_mutator.h:62
DiscoveryMechanismType type
Definition: xds_cluster_resolver.cc:73