1 |
|
2 | import { CallCredentials } from "./call-credentials";
|
3 | import { Status } from "./constants";
|
4 | import { Deadline } from "./deadline";
|
5 | import { Metadata } from "./metadata";
|
6 | import { ServerSurfaceCall } from "./server-call";
|
7 | export interface CallStreamOptions {
|
8 | deadline: Deadline;
|
9 | flags: number;
|
10 | host: string;
|
11 | parentCall: ServerSurfaceCall | null;
|
12 | }
|
13 | export declare type PartialCallStreamOptions = Partial<CallStreamOptions>;
|
14 | export interface StatusObject {
|
15 | code: Status;
|
16 | details: string;
|
17 | metadata: Metadata;
|
18 | }
|
19 | export declare const enum WriteFlags {
|
20 | BufferHint = 1,
|
21 | NoCompress = 2,
|
22 | WriteThrough = 4
|
23 | }
|
24 | export interface WriteObject {
|
25 | message: Buffer;
|
26 | flags?: number;
|
27 | }
|
28 | export interface MetadataListener {
|
29 | (metadata: Metadata, next: (metadata: Metadata) => void): void;
|
30 | }
|
31 | export interface MessageListener {
|
32 | (message: any, next: (message: any) => void): void;
|
33 | }
|
34 | export interface StatusListener {
|
35 | (status: StatusObject, next: (status: StatusObject) => void): void;
|
36 | }
|
37 | export interface FullListener {
|
38 | onReceiveMetadata: MetadataListener;
|
39 | onReceiveMessage: MessageListener;
|
40 | onReceiveStatus: StatusListener;
|
41 | }
|
42 | export declare type Listener = Partial<FullListener>;
|
43 |
|
44 |
|
45 |
|
46 | export interface InterceptingListener {
|
47 | onReceiveMetadata(metadata: Metadata): void;
|
48 | onReceiveMessage(message: any): void;
|
49 | onReceiveStatus(status: StatusObject): void;
|
50 | }
|
51 | export declare function isInterceptingListener(listener: Listener | InterceptingListener): listener is InterceptingListener;
|
52 | export declare class InterceptingListenerImpl implements InterceptingListener {
|
53 | private listener;
|
54 | private nextListener;
|
55 | private processingMetadata;
|
56 | private hasPendingMessage;
|
57 | private pendingMessage;
|
58 | private processingMessage;
|
59 | private pendingStatus;
|
60 | constructor(listener: FullListener, nextListener: InterceptingListener);
|
61 | private processPendingMessage;
|
62 | private processPendingStatus;
|
63 | onReceiveMetadata(metadata: Metadata): void;
|
64 | onReceiveMessage(message: any): void;
|
65 | onReceiveStatus(status: StatusObject): void;
|
66 | }
|
67 | export interface WriteCallback {
|
68 | (error?: Error | null): void;
|
69 | }
|
70 | export interface MessageContext {
|
71 | callback?: WriteCallback;
|
72 | flags?: number;
|
73 | }
|
74 | export interface Call {
|
75 | cancelWithStatus(status: Status, details: string): void;
|
76 | getPeer(): string;
|
77 | start(metadata: Metadata, listener: InterceptingListener): void;
|
78 | sendMessageWithContext(context: MessageContext, message: Buffer): void;
|
79 | startRead(): void;
|
80 | halfClose(): void;
|
81 | getCallNumber(): number;
|
82 | setCredentials(credentials: CallCredentials): void;
|
83 | }
|