libp2p
    Preparing search index...

    Interface MessageStream<Timeline>

    interface MessageStream<
        Timeline extends MessageStreamTimeline = MessageStreamTimeline,
    > {
        direction: MessageStreamDirection;
        inactivityTimeout: number;
        log: Logger;
        maxReadBufferLength: number;
        maxWriteBufferLength?: number;
        readBufferLength: number;
        status: MessageStreamStatus;
        timeline: Timeline;
        writableNeedsDrain: boolean;
        writeBufferLength: number;
        "[asyncIterator]"(): AsyncIterator<
            Uint8Array<ArrayBufferLike>
            | Uint8ArrayList,
            any,
            any,
        >;
        abort(err: Error): void;
        addEventListener<K extends keyof MessageStreamEvents>(
            type: K,
            listener: null | EventHandler<MessageStreamEvents[K]>,
            options?: boolean | AddEventListenerOptions,
        ): void;
        close(options?: AbortOptions): Promise<void>;
        dispatchEvent(event: Event): boolean;
        dispatchEvent(event: Event): boolean;
        listenerCount(type: string): number;
        onDrain(options?: AbortOptions): Promise<void>;
        pause(): void;
        push(buf: Uint8Array<ArrayBufferLike> | Uint8ArrayList): void;
        removeEventListener<K extends keyof MessageStreamEvents>(
            type: K,
            listener?: null | EventHandler<MessageStreamEvents[K]>,
            options?: boolean | EventListenerOptions,
        ): void;
        removeEventListener(
            type: string,
            listener?: EventHandler<Event>,
            options?: boolean | EventListenerOptions,
        ): void;
        resume(): void;
        safeDispatchEvent<Detail>(
            type: keyof MessageStreamEvents,
            detail?: CustomEventInit<Detail>,
        ): boolean;
        send(data: Uint8Array<ArrayBufferLike> | Uint8ArrayList): boolean;
        unshift(data: Uint8Array<ArrayBufferLike> | Uint8ArrayList): void;
    }

    Type Parameters

    Hierarchy (View Summary)

    Implemented by

    Index

    Properties

    Whether this stream is inbound or outbound

    inactivityTimeout: number

    If no data is transmitted over the stream in this many ms, the stream will be aborted with an InactivityTimeoutError

    log: Logger

    A logging implementation that can be used to log stream-specific messages

    maxReadBufferLength: number

    The maximum number of bytes to store when paused. If receipt of more bytes from the remote end of the stream causes the buffer size to exceed this value the stream will be reset and a 'close' event emitted.

    This value can be changed at runtime.

    maxWriteBufferLength?: number

    When the .send method returns false it means that the underlying resource has signalled that it's write buffer is full. If the user continues to call .send, outgoing bytes are stored in an internal buffer until the underlying resource signals that it can accept more data.

    If the size of that internal buffer exceed this value the stream will be reset and a 'close' event emitted.

    This value can be changed at runtime.

    readBufferLength: number

    Returns the number of bytes that are queued to be read

    The current status of the message stream

    timeline: Timeline

    Timestamps of when stream events occurred

    writableNeedsDrain: boolean

    If this property is true, the underlying transport has signalled that its write buffer is full and that .send should not be called again.

    A drain event will be emitted after which is its safe to call .send again to resume sending.

    writeBufferLength: number

    Returns the number of bytes that are queued to be written

    Methods

    • Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.

      The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.

      When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.

      When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.

      When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.

      If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.

      The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.

      MDN Reference

      Type Parameters

      Parameters

      Returns void

    • Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

      MDN Reference

      Parameters

      Returns boolean

    • Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

      MDN Reference

      Parameters

      Returns boolean

    • Parameters

      • type: string

      Returns number

    • Stop emitting further 'message' events. Any received data will be stored in an internal buffer. If the buffer size reaches maxReadBufferLength, the stream will be reset and a StreamAbortEvent emitted.

      If the underlying resource supports it, the remote peer will be instructed to pause transmission of further data.

      Returns void

    • Resume emitting 'message' events.

      If the underlying resource supports it, the remote peer will be informed that it is ok to start sending data again.

      Returns void

    • Write data to the stream. If the method returns false it means the internal buffer is now full and the caller should wait for the 'drain' event before sending more data.

      This method may throw if:

      • The internal send buffer is full
      • The stream has previously been closed for writing locally or remotely

      Parameters

      Returns boolean