UNPKG

1.08 kBTypeScriptView Raw
1import { LoadBalancer, ChannelControlHelper, TypedLoadBalancingConfig } from './load-balancer';
2import { Endpoint } from './subchannel-address';
3import { ChannelOptions } from './channel-options';
4export 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}