UNPKG

@fails-components/webtransport

Version:

A component to add webtransport support (server and client) to node.js using libquiche

145 lines 4.93 kB
/// <reference types="node" /> /** * WebTransport stream events * @typedef {import('./types').WebTransportStreamEventHandler} WebTransportStreamEventHandler * @typedef {import('./types').StreamRecvSignalEvent} StreamRecvSignalEvent * @typedef {import('./types').StreamReadEvent} StreamReadEvent * @typedef {import('./types').StreamWriteEvent} StreamWriteEvent * @typedef {import('./types').StreamNetworkFinishEvent} StreamNetworkFinishEvent * * @typedef {import('./types').NativeHttpWTStream} NativeHttpWTStream * @typedef {import('./types').ReadBuffer} ReadBuffer * * @typedef {import('./dom').WebTransportReceiveStream} WebTransportReceiveStream * @typedef {import('./dom').WebTransportSendStream} WebTransportSendStream * * @typedef {import('./dom').WebTransportSendGroup} WebTransportSendGroup * * @typedef {import('./session').HttpWTSession} HttpWTSession * * @typedef {import('stream/web').WritableStreamDefaultController} WritableStreamDefaultController */ export class HttpWTStream { /** * @param {object} args * @param {NativeHttpWTStream} args.object * @param {HttpWTSession} args.parentobj * @param {object} args.transport * @param {boolean} args.bidirectional * @param {boolean} args.incoming * @param {WebTransportSendGroup|undefined} args.sendGroup * @param {bigint} args.sendOrder */ constructor(args: { object: NativeHttpWTStream; parentobj: HttpWTSession; transport: object; bidirectional: boolean; incoming: boolean; sendGroup: WebTransportSendGroup | undefined; sendOrder: bigint; }); objint: import("./types").NativeHttpWTStream; parentobj: import("./session").HttpWTSession; transport: object; bidirectional: boolean; incoming: boolean; closed: boolean; _sendGroup: import("./dom").WebTransportSendGroup | undefined; _sendOrder: bigint; /** @type {Promise<void> | null} */ pendingoperation: Promise<void> | null; pendingres: (() => void) | null; /** @type {WebTransportReceiveStream} */ readable: WebTransportReceiveStream; /** @type {WebTransportSendStream} */ writable: WebTransportSendStream; /** @type {Promise<void> | null} */ pendingoperationRead: Promise<void> | null; pendingresRead: ((value: void | PromiseLike<void>) => void) | null; readableController: import("stream/web").ReadableByteStreamController; cancelres: (() => void) | null; readableclosed: boolean; writableController: import("stream/web").WritableStreamDefaultController; abortres: (() => void) | null; finaldrain_: boolean; /** * @param {{byteSize: number}} args * @returns {ReadBuffer} */ getReadBuffer({ byteSize }: { byteSize: number; }): ReadBuffer; /** * @param {ReadBuffer} args */ commitReadBuffer({ buffer, byob, drained, readBytes, fin }: ReadBuffer): { stopReading: boolean; }; updateSendOrderAndGroup(): void; /** * @param {import('./types').StreamRecvSignalEvent} args * @returns {void} */ onStreamRecvSignal(args: import('./types').StreamRecvSignalEvent): void; writableclosed: boolean | undefined; finalDrain(): void; /** * @param {StreamWriteEvent} args */ onStreamWrite(args: StreamWriteEvent): void; /** * @param {StreamNetworkFinishEvent} args */ onStreamNetworkFinish(args: StreamNetworkFinishEvent): void; stopSendingRecv: boolean | undefined; } /** * WebTransport stream events */ export type WebTransportStreamEventHandler = import('./types').WebTransportStreamEventHandler; /** * WebTransport stream events */ export type StreamRecvSignalEvent = import('./types').StreamRecvSignalEvent; /** * WebTransport stream events */ export type StreamReadEvent = import('./types').StreamReadEvent; /** * WebTransport stream events */ export type StreamWriteEvent = import('./types').StreamWriteEvent; /** * WebTransport stream events */ export type StreamNetworkFinishEvent = import('./types').StreamNetworkFinishEvent; /** * WebTransport stream events */ export type NativeHttpWTStream = import('./types').NativeHttpWTStream; /** * WebTransport stream events */ export type ReadBuffer = import('./types').ReadBuffer; /** * WebTransport stream events */ export type WebTransportReceiveStream = import('./dom').WebTransportReceiveStream; /** * WebTransport stream events */ export type WebTransportSendStream = import('./dom').WebTransportSendStream; /** * WebTransport stream events */ export type WebTransportSendGroup = import('./dom').WebTransportSendGroup; /** * WebTransport stream events */ export type HttpWTSession = import('./session').HttpWTSession; /** * WebTransport stream events */ export type WritableStreamDefaultController = import('stream/web').WritableStreamDefaultController; //# sourceMappingURL=stream.d.ts.map