load-balancing-call.d.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /// <reference types="node" />
  2. import { CallCredentials } from "./call-credentials";
  3. import { Call, InterceptingListener, MessageContext, StatusObject } from "./call-interface";
  4. import { Status } from "./constants";
  5. import { Deadline } from "./deadline";
  6. import { InternalChannel } from "./internal-channel";
  7. import { Metadata } from "./metadata";
  8. import { CallConfig } from "./resolver";
  9. export declare type RpcProgress = 'NOT_STARTED' | 'DROP' | 'REFUSED' | 'PROCESSED';
  10. export interface StatusObjectWithProgress extends StatusObject {
  11. progress: RpcProgress;
  12. }
  13. export interface LoadBalancingCallInterceptingListener extends InterceptingListener {
  14. onReceiveStatus(status: StatusObjectWithProgress): void;
  15. }
  16. export declare class LoadBalancingCall implements Call {
  17. private readonly channel;
  18. private readonly callConfig;
  19. private readonly methodName;
  20. private readonly host;
  21. private readonly credentials;
  22. private readonly deadline;
  23. private readonly callNumber;
  24. private child;
  25. private readPending;
  26. private pendingMessage;
  27. private pendingHalfClose;
  28. private pendingChildStatus;
  29. private ended;
  30. private serviceUrl;
  31. private metadata;
  32. private listener;
  33. private onCallEnded;
  34. constructor(channel: InternalChannel, callConfig: CallConfig, methodName: string, host: string, credentials: CallCredentials, deadline: Deadline, callNumber: number);
  35. private trace;
  36. private outputStatus;
  37. doPick(): void;
  38. cancelWithStatus(status: Status, details: string): void;
  39. getPeer(): string;
  40. start(metadata: Metadata, listener: LoadBalancingCallInterceptingListener): void;
  41. sendMessageWithContext(context: MessageContext, message: Buffer): void;
  42. startRead(): void;
  43. halfClose(): void;
  44. setCredentials(credentials: CallCredentials): void;
  45. getCallNumber(): number;
  46. }