• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..13-Jan-2021-

health/H13-Jan-2021-793601

lb_policy/H13-Jan-2021-9,4506,646

resolver/H13-Jan-2021-5,2953,911

OWNERSH A D13-Jan-202124 32

README.mdH A D13-Jan-20211.8 KiB5034

backend_metric.ccH A D13-Jan-20213.2 KiB8558

backend_metric.hH A D13-Jan-20211.2 KiB3711

backup_poller.ccH A D13-Jan-20216.2 KiB183140

backup_poller.hH A D13-Jan-20211.4 KiB4213

channel_connectivity.ccH A D13-Jan-20218.3 KiB265214

client_channel.ccH A D13-Jan-2021178.2 KiB4,2563,207

client_channel.hH A D13-Jan-20213.4 KiB8328

client_channel_channelz.ccH A D13-Jan-20212.8 KiB9662

client_channel_channelz.hH A D13-Jan-20212.6 KiB7640

client_channel_factory.ccH A D13-Jan-20211.8 KiB5627

client_channel_factory.hH A D13-Jan-20211.5 KiB4816

client_channel_plugin.ccH A D13-Jan-20212.9 KiB7146

config_selector.ccH A D13-Jan-20211.8 KiB5931

config_selector.hH A D13-Jan-20214.3 KiB12263

connector.hH A D13-Jan-20212.5 KiB8036

global_subchannel_pool.ccH A D13-Jan-20217.3 KiB202127

global_subchannel_pool.hH A D13-Jan-20212.4 KiB6924

http_connect_handshaker.ccH A D13-Jan-202114.6 KiB390276

http_connect_handshaker.hH A D13-Jan-20211.3 KiB356

http_proxy.ccH A D13-Jan-20217.8 KiB219167

http_proxy.hH A D13-Jan-2021867 296

lb_policy.ccH A D13-Jan-20214.5 KiB14381

lb_policy.hH A D13-Jan-202116.7 KiB426176

lb_policy_factory.hH A D13-Jan-20211.5 KiB4817

lb_policy_registry.ccH A D13-Jan-20215.8 KiB189131

lb_policy_registry.hH A D13-Jan-20212.4 KiB6625

local_subchannel_pool.ccH A D13-Jan-20213 KiB9758

local_subchannel_pool.hH A D13-Jan-20212.1 KiB5819

proxy_mapper.hH A D13-Jan-20211.8 KiB5519

proxy_mapper_registry.ccH A D13-Jan-20212.7 KiB9053

proxy_mapper_registry.hH A D13-Jan-20211.7 KiB5120

resolver.ccH A D13-Jan-20212.7 KiB8851

resolver.hH A D13-Jan-20215.1 KiB14857

resolver_factory.hH A D13-Jan-20212.4 KiB7431

resolver_registry.ccH A D13-Jan-20216.4 KiB197135

resolver_registry.hH A D13-Jan-20213.6 KiB9031

resolver_result_parsing.ccH A D13-Jan-202115.7 KiB400346

resolver_result_parsing.hH A D13-Jan-20214.2 KiB12988

resolving_lb_policy.ccH A D13-Jan-202113.5 KiB356260

resolving_lb_policy.hH A D13-Jan-20215 KiB13969

retry_throttle.ccH A D13-Jan-20216.4 KiB192124

retry_throttle.hH A D13-Jan-20212.5 KiB7835

server_address.ccH A D13-Jan-20214.9 KiB162115

server_address.hH A D13-Jan-20213.6 KiB11446

service_config.ccH A D13-Jan-20218.6 KiB227181

service_config.hH A D13-Jan-20214.8 KiB12750

service_config_call_data.hH A D13-Jan-20212.5 KiB6937

service_config_channel_arg_filter.ccH A D13-Jan-20215.2 KiB143106

service_config_parser.ccH A D13-Jan-20213.1 KiB9063

service_config_parser.hH A D13-Jan-20213.2 KiB9346

subchannel.ccH A D13-Jan-202142 KiB1,172952

subchannel.hH A D13-Jan-202116.9 KiB440228

subchannel_interface.hH A D13-Jan-20215.1 KiB13160

subchannel_pool_interface.ccH A D13-Jan-20212.9 KiB9857

subchannel_pool_interface.hH A D13-Jan-20213.3 KiB9642

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