This directory contains the core implementation of the gRPC server.
The gRPC server is responsible for listening for incoming connections, handling requests, and sending responses. It is the main entry point for all server-side gRPC applications.
server.h/server.cc: Defines theServerclass, which is the main class for the gRPC server.server_interface.h: Defines theServerInterfaceclass, which is an interface that can be used to interact with the server.add_port.cc: Contains the implementation of thegrpc_server_add_http2_portfunction, which is used to add a listening port to the server.server_call_tracer_filter.h/server_call_tracer_filter.cc: Defines a filter that can be used to trace server-side calls.server_config_selector.h: Defines theServerConfigSelectorclass, which is used to select the server configuration for a given request.server_config_selector_filter.h/server_config_selector_filter.cc: Defines a filter that uses theServerConfigSelectorto select the server configuration.xds_channel_stack_modifier.h/xds_channel_stack_modifier.cc: Defines a class that can be used to modify the channel stack for XDS-enabled servers.xds_server_config_fetcher.cc: Fetches server configuration from an XDS server.
grpc_core::Server: The main class for the gRPC server.grpc_core::ServerInterface: An interface that can be used to interact with the server.grpc_core::ServerConfigSelector: A class that is used to select the server configuration for a given request.
- The gRPC server is a complex piece of software with many different components.
- The
Serverclass is the main entry point for all server-side gRPC applications. - The
ServerBuilderclass can be used to create and configure aServerinstance. - The server can be configured with a variety of options, including the number of threads, the maximum number of concurrent requests, and the security credentials to use.