UNPKG

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