1 | import { LoadBalancer, ChannelControlHelper, TypedLoadBalancingConfig } from './load-balancer';
|
2 | import { Endpoint } from './subchannel-address';
|
3 | import { ChannelOptions } from './channel-options';
|
4 | export declare class ChildLoadBalancerHandler implements LoadBalancer {
|
5 | private readonly channelControlHelper;
|
6 | private readonly options;
|
7 | private currentChild;
|
8 | private pendingChild;
|
9 | private latestConfig;
|
10 | private ChildPolicyHelper;
|
11 | constructor(channelControlHelper: ChannelControlHelper, options: ChannelOptions);
|
12 | protected configUpdateRequiresNewPolicyInstance(oldConfig: TypedLoadBalancingConfig, newConfig: TypedLoadBalancingConfig): boolean;
|
13 | /**
|
14 | * Prerequisites: lbConfig !== null and lbConfig.name is registered
|
15 | * @param endpointList
|
16 | * @param lbConfig
|
17 | * @param attributes
|
18 | */
|
19 | updateAddressList(endpointList: Endpoint[], lbConfig: TypedLoadBalancingConfig, attributes: {
|
20 | [key: string]: unknown;
|
21 | }): void;
|
22 | exitIdle(): void;
|
23 | resetBackoff(): void;
|
24 | destroy(): void;
|
25 | getTypeName(): string;
|
26 | }
|