UNPKG

@aptpod/iscp-ts

Version:

iSCP 2.0 client library for TypeScript

41 lines (40 loc) 2.65 kB
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>; }