Interface IConnection<Address, LocalAddress>

A readable stream

interface IConnection<Address, LocalAddress = Address> {
    close: () => void;
    localAddress: null | LocalAddress;
    read: (into: Uint8Array) => Promise<number>;
    remoteAddress: null | Address;
    write: (bytes: Uint8Array) => Promise<void>;
}

Type Parameters

Hierarchy (View Summary)

Implemented by

Properties

close: () => void

Close the underlying source.

localAddress: null | LocalAddress

local address of the connection (if available)

read: (into: Uint8Array) => Promise<number>

Read data from the underlying source into the provided Uint8Array, up to the length of the array, and return the number of bytes read.

If there are no bytes available currently, the implementation is supposed to wait until at least one byte is available, and only then resolve the promise. Resolving the promise with a zero-length Uint8Array is marking the end of the source.

Type declaration

    • (into: Uint8Array): Promise<number>
    • Parameters

      • into: Uint8Array

      Returns Promise<number>

      Uint8Array containing the bytes that were read.

remoteAddress: null | Address

remote address of the connection (if available)

write: (bytes: Uint8Array) => Promise<void>

Write bytes to the underlying stream, resolving once the write is complete