load-balancer-child-handler.d.ts 1.2 KB

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