UNPKG

@aptpod/iscp-ts

Version:

iSCP 2.0 client library for TypeScript

52 lines (51 loc) 1.81 kB
import { ReadableStream, WritableStream } from 'web-streams-polyfill'; type WebTransportOptions = { allowPooling: boolean; serverCertificateHashes: any; }; type WebTransportStats = { timestamp: number; bytesSent: number; packetsSent: number; packetsLost: number; numOutgoingStreamsCreated: number; numIncomingStreamsCreated: number; bytesReceived: number; packetsReceived: number; smoothedRtt: number; rttVariation: number; minRtt: number; numReceivedDatagramsDropped: number; }; type WebTransportCloseInfo = { closeCode: number; reason: string; }; type WebTransportDatagramDuplexStream = { get readable(): ReadableStream; get writable(): WritableStream; get maxDatagramSize(): number; incomingMaxAge(): number | undefined; outgoingMaxAge(): number | undefined; incomingHighWaterMark(): number; outgoingHighWaterMark(): number; }; type WebTransportBidirectionalStream = { get readable(): ReadableStream; get writable(): WritableStream; }; declare class WebTransport { constructor(url: string, options?: WebTransportOptions); getStats(): Promise<WebTransportStats>; get ready(): Promise<void>; get closed(): Promise<WebTransportCloseInfo>; close(closeInfo?: WebTransportCloseInfo): void; get datagrams(): WebTransportDatagramDuplexStream; createBidirectionalStream(): Promise<WebTransportBidirectionalStream>; /** a ReadableStream of WebTransportBidirectionalStream objects */ get incomingBidirectionalStreams(): ReadableStream; createUnidirectionalStream(): Promise<WritableStream>; get incomingUnidirectionalStreams(): ReadableStream; } export declare const createWebTransport: (url: string, options?: WebTransportOptions | undefined) => WebTransport; export {};