UNPKG

1.85 kBTypeScriptView Raw
1/// <reference types="node" />
2import { CallCredentials } from "./call-credentials";
3import { Call, InterceptingListener, MessageContext, StatusObject } from "./call-interface";
4import { Status } from "./constants";
5import { Deadline } from "./deadline";
6import { InternalChannel } from "./internal-channel";
7import { Metadata } from "./metadata";
8import { CallConfig } from "./resolver";
9export declare type RpcProgress = 'NOT_STARTED' | 'DROP' | 'REFUSED' | 'PROCESSED';
10export interface StatusObjectWithProgress extends StatusObject {
11 progress: RpcProgress;
12}
13export interface LoadBalancingCallInterceptingListener extends InterceptingListener {
14 onReceiveStatus(status: StatusObjectWithProgress): void;
15}
16export 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}