@aptpod/iscp-ts
Version:
iSCP 2.0 client library for TypeScript
41 lines (40 loc) • 2.65 kB
TypeScript
import { Message, ConnectRequest, ConnectResponse, Disconnect, DownstreamOpenRequest, DownstreamOpenResponse, DownstreamChunkAckComplete, DownstreamChunk, DownstreamMetadata, DownstreamMetadataAck, DownstreamCloseResponse, DownstreamChunkAck, DownstreamResumeRequest, DownstreamResumeResponse, DownstreamCloseRequest, UpstreamOpenRequest, UpstreamOpenResponse, UpstreamResumeRequest, UpstreamResumeResponse, UpstreamCloseRequest, UpstreamCloseResponse, UpstreamChunk, UpstreamChunkAck, UpstreamMetadata, UpstreamMetadataAck, UpstreamCall, UpstreamCallAck, DownstreamCall } from './message';
import { Logger } from './logger';
import { Sequence } from './sequence';
export interface WireConfig {
requestSequence: Sequence;
reader: () => Promise<Message>;
writer: (message: Message) => Promise<void>;
unreliableReader?: () => Promise<Message>;
unreliableWriter?: (message: Message) => Promise<void>;
pingTimeout: number;
pingInterval: number;
logger: Logger;
}
export declare class Wire {
#private;
onDisconnect: (message: Disconnect) => Promise<void>;
onUpstreamChunkAck: (message: UpstreamChunkAck) => Promise<void>;
onDownstreamChunk: (message: DownstreamChunk) => Promise<void>;
onDownstreamMetadata: (message: DownstreamMetadata) => Promise<void>;
onDownstreamChunkAckComplete: (message: DownstreamChunkAckComplete) => Promise<void>;
onDownstreamCall: (message: DownstreamCall) => Promise<void>;
onPingTimeout: () => Promise<void>;
onError: (error: Error) => Promise<void>;
constructor(config: WireConfig);
start(): Promise<void>;
cancel(): Promise<void>;
connect(request: ConnectRequest): Promise<ConnectResponse>;
disconnect(request: Disconnect): Promise<void>;
openUpstream(request: UpstreamOpenRequest): Promise<UpstreamOpenResponse>;
resumeUpstream(request: UpstreamResumeRequest): Promise<UpstreamResumeResponse>;
closeUpstream(request: UpstreamCloseRequest): Promise<UpstreamCloseResponse>;
sendUpstreamChunk(message: UpstreamChunk): Promise<void>;
upstreamMetadata(request: UpstreamMetadata): Promise<UpstreamMetadataAck>;
openDownstream(request: DownstreamOpenRequest): Promise<DownstreamOpenResponse>;
resumeDownstream(request: DownstreamResumeRequest): Promise<DownstreamResumeResponse>;
closeDownstream(request: DownstreamCloseRequest): Promise<DownstreamCloseResponse>;
sendDownstreamChunkAck(message: DownstreamChunkAck): Promise<void>;
sendDownstreamMetadataAck(message: DownstreamMetadataAck): Promise<void>;
sendUpstreamCall(message: UpstreamCall, timeout?: number): Promise<UpstreamCallAck>;
}