19 #ifndef GRPC_CORE_LIB_IOMGR_SOCKET_MUTATOR_H
20 #define GRPC_CORE_LIB_IOMGR_SOCKET_MUTATOR_H
void grpc_socket_mutator_unref(grpc_socket_mutator *mutator)
Definition: socket_mutator.cc:71
grpc_fd_usage
How is an fd to be used?
Definition: socket_mutator.h:30
@ GRPC_FD_SERVER_LISTENER_USAGE
Used for server listening.
Definition: socket_mutator.h:34
@ GRPC_FD_SERVER_CONNECTION_USAGE
Used for server connection.
Definition: socket_mutator.h:36
@ GRPC_FD_CLIENT_CONNECTION_USAGE
Used for client connection.
Definition: socket_mutator.h:32
grpc_socket_mutator * grpc_socket_mutator_ref(grpc_socket_mutator *mutator)
Definition: socket_mutator.cc:36
bool grpc_socket_mutator_mutate_fd(grpc_socket_mutator *mutator, int fd, grpc_fd_usage usage)
Perform the file descriptor mutation operation of mutator on fd.
Definition: socket_mutator.cc:41
void grpc_socket_mutator_init(grpc_socket_mutator *mutator, const grpc_socket_mutator_vtable *vtable)
called by concrete implementations to initialize the base struct
Definition: socket_mutator.cc:30
grpc_arg grpc_socket_mutator_to_arg(grpc_socket_mutator *mutator)
Wrap mutator as a grpc_arg.
Definition: socket_mutator.cc:93
int grpc_socket_mutator_compare(grpc_socket_mutator *a, grpc_socket_mutator *b)
Compare if a and b are the same mutator or have same settings.
Definition: socket_mutator.cc:57
Definition: sync_generic.h:36
A single argument...
Definition: grpc_types.h:103
Information about an fd to mutate.
Definition: socket_mutator.h:40
int fd
File descriptor to mutate.
Definition: socket_mutator.h:42
grpc_fd_usage usage
How the fd will be used.
Definition: socket_mutator.h:44
The virtual table of grpc_socket_mutator.
Definition: socket_mutator.h:48
void(* destroy)(grpc_socket_mutator *mutator)
Destroys the socket mutator instance.
Definition: socket_mutator.h:54
bool(* mutate_fd)(int fd, grpc_socket_mutator *mutator)
Mutates the socket options of fd – deprecated, prefer mutate_fd_2.
Definition: socket_mutator.h:50
int(* compare)(grpc_socket_mutator *a, grpc_socket_mutator *b)
Compare socket mutator a and b.
Definition: socket_mutator.h:52
bool(* mutate_fd_2)(const grpc_mutate_socket_info *info, grpc_socket_mutator *mutator)
Mutates the socket options of the fd in info - if set takes preference to mutate_fd.
Definition: socket_mutator.h:57
The Socket Mutator interface allows changes on socket options.
Definition: socket_mutator.h:62
gpr_refcount refcount
Definition: socket_mutator.h:64
const grpc_socket_mutator_vtable * vtable
Definition: socket_mutator.h:63