UNPKG

@libp2p/mplex

Version:

JavaScript implementation of https://github.com/libp2p/mplex

39 lines 1.33 kB
import { AbstractStream, type AbstractStreamInit } from '@libp2p/utils/abstract-stream'; import { Uint8ArrayList } from 'uint8arraylist'; import type { Message } from './message-types.js'; import type { ComponentLogger } from '@libp2p/interface'; export interface Options { id: number; send(msg: Message): Promise<void>; name?: string; onEnd?(err?: Error): void; type?: 'initiator' | 'receiver'; maxMsgSize?: number; logger: ComponentLogger; } interface MplexStreamInit extends AbstractStreamInit { streamId: number; name: string; send(msg: Message): Promise<void>; /** * The maximum allowable data size, any data larger than this will be * chunked and sent in multiple data messages */ maxDataSize: number; } export declare class MplexStream extends AbstractStream { private readonly name; private readonly streamId; private readonly send; private readonly types; private readonly maxDataSize; constructor(init: MplexStreamInit); sendNewStream(): Promise<void>; sendData(data: Uint8ArrayList): Promise<void>; sendReset(): Promise<void>; sendCloseWrite(): Promise<void>; sendCloseRead(): Promise<void>; } export declare function createStream(options: Options): MplexStream; export {}; //# sourceMappingURL=stream.d.ts.map