Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
.clang-format | H A D | 25-Apr-2025 | 1.6 KiB | 54 | 53 | |
README.md | H A D | 25-Apr-2025 | 1.8 KiB | 50 | 34 | |
backup_poller.cc | H A D | 25-Apr-2025 | 5.8 KiB | 179 | 135 | |
backup_poller.h | H A D | 25-Apr-2025 | 1.2 KiB | 38 | 10 | |
client_channel_channelz.cc | H A D | 25-Apr-2025 | 2.9 KiB | 94 | 57 | |
client_channel_channelz.h | H A D | 25-Apr-2025 | 2.8 KiB | 86 | 47 | |
client_channel_factory.cc | H A D | 25-Apr-2025 | 976 | 33 | 8 | |
client_channel_factory.h | H A D | 25-Apr-2025 | 1.4 KiB | 47 | 19 | |
client_channel_filter.cc | H A D | 25-Apr-2025 | 147.4 KiB | 3,665 | 2,844 | |
client_channel_filter.h | H A D | 25-Apr-2025 | 24.5 KiB | 629 | 390 | |
client_channel_internal.h | H A D | 25-Apr-2025 | 2.6 KiB | 80 | 39 | |
client_channel_plugin.cc | H A D | 25-Apr-2025 | 1.9 KiB | 56 | 30 | |
client_channel_service_config.cc | H A D | 25-Apr-2025 | 5.1 KiB | 154 | 100 | |
client_channel_service_config.h | H A D | 25-Apr-2025 | 3.4 KiB | 113 | 72 | |
config_selector.cc | H A D | 25-Apr-2025 | 1.9 KiB | 61 | 32 | |
config_selector.h | H A D | 25-Apr-2025 | 4.4 KiB | 126 | 71 | |
connector.h | H A D | 25-Apr-2025 | 2.8 KiB | 88 | 45 | |
dynamic_filters.cc | H A D | 25-Apr-2025 | 6.3 KiB | 175 | 116 | |
dynamic_filters.h | H A D | 25-Apr-2025 | 3.7 KiB | 111 | 64 | |
global_subchannel_pool.cc | H A D | 25-Apr-2025 | 2.1 KiB | 66 | 36 | |
global_subchannel_pool.h | H A D | 25-Apr-2025 | 2 KiB | 64 | 28 | |
http_proxy_mapper.cc | H A D | 25-Apr-2025 | 10.8 KiB | 305 | 243 | |
http_proxy_mapper.h | H A D | 25-Apr-2025 | 1.7 KiB | 54 | 24 | |
local_subchannel_pool.cc | H A D | 25-Apr-2025 | 2 KiB | 61 | 27 | |
local_subchannel_pool.h | H A D | 25-Apr-2025 | 2.1 KiB | 60 | 21 | |
retry_filter.cc | H A D | 25-Apr-2025 | 6.3 KiB | 161 | 80 | |
retry_filter.h | H A D | 25-Apr-2025 | 4 KiB | 123 | 74 | |
retry_filter_legacy_call_data.cc | H A D | 25-Apr-2025 | 84.3 KiB | 2,055 | 1,554 | |
retry_filter_legacy_call_data.h | H A D | 25-Apr-2025 | 18.7 KiB | 444 | 238 | |
retry_service_config.cc | H A D | 25-Apr-2025 | 9.5 KiB | 284 | 209 | |
retry_service_config.h | H A D | 25-Apr-2025 | 3.4 KiB | 106 | 70 | |
retry_throttle.cc | H A D | 25-Apr-2025 | 4.9 KiB | 140 | 88 | |
retry_throttle.h | H A D | 25-Apr-2025 | 2.7 KiB | 94 | 47 | |
subchannel.cc | H A D | 25-Apr-2025 | 31.1 KiB | 813 | 626 | |
subchannel.h | H A D | 25-Apr-2025 | 14.8 KiB | 388 | 207 | |
subchannel_interface_internal.h | H A D | 25-Apr-2025 | 1.4 KiB | 42 | 15 | |
subchannel_pool_interface.cc | H A D | 25-Apr-2025 | 2.1 KiB | 67 | 34 | |
subchannel_pool_interface.h | H A D | 25-Apr-2025 | 3.5 KiB | 101 | 50 | |
subchannel_stream_client.cc | H A D | 25-Apr-2025 | 18.1 KiB | 465 | 368 | |
subchannel_stream_client.h | H A D | 25-Apr-2025 | 8.5 KiB | 226 | 125 |
README.md
1Client Configuration Support for GRPC 2===================================== 3 4This library provides high level configuration machinery to construct client 5channels and load balance between them. 6 7Each `grpc_channel` is created with a `Resolver`. It is the resolver's duty 8to resolve a name into a set of arguments for the channel. Such arguments 9might include: 10 11- a list of (ip, port) addresses to connect to 12- a load balancing policy to decide which server to send a request to 13- a set of filters to mutate outgoing requests (say, by adding metadata) 14 15The resolver provides this data as a stream of `grpc_channel_args` objects to 16the channel. We represent arguments as a stream so that they can be changed 17by the resolver during execution, by reacting to external events (such as 18new service configuration data being pushed to some store). 19 20 21Load Balancing 22-------------- 23 24Load balancing configuration is provided by a `LoadBalancingPolicy` object. 25 26The primary job of the load balancing policies is to pick a target server 27given only the initial metadata for a request. It does this by providing 28a `ConnectedSubchannel` object to the owning channel. 29 30 31Sub-Channels 32------------ 33 34A sub-channel provides a connection to a server for a client channel. It has a 35connectivity state like a regular channel, and so can be connected or 36disconnected. This connectivity state can be used to inform load balancing 37decisions (for example, by avoiding disconnected backends). 38 39Configured sub-channels are fully setup to participate in the grpc data plane. 40Their behavior is specified by a set of grpc channel filters defined at their 41construction. To customize this behavior, transports build 42`ClientChannelFactory` objects, which customize construction arguments for 43concrete subchannel instances. 44 45 46Naming for GRPC 47=============== 48 49See [/doc/naming.md](gRPC name resolution). 50