Skip to content

Loopback

Defined in: src/ports/transport.ts:18

In-memory Transport for tests and examples. Captures everything sent and lets a driver push inbound frames / state transitions into the session under test.

new Loopback(): LoopbackTransport;

LoopbackTransport

readonly sent: Uint8Array<ArrayBufferLike>[] = [];

Defined in: src/ports/transport.ts:20

Outbound frames captured for assertions (in send order).

getState(): TransportState;

Defined in: src/ports/transport.ts:37

TransportState

Transport.getState


lastSentHex(): string | undefined;

Defined in: src/ports/transport.ts:60

Last sent frame as hex (or undefined).

string | undefined


onData(cb): void;

Defined in: src/ports/transport.ts:29

Each chunk is ONE complete companion frame (a BLE notification payload).

ParameterType
cb(chunk) => void

void

Transport.onData


onStateChange(cb): void;

Defined in: src/ports/transport.ts:33

ParameterType
cb(s) => void

void

Transport.onStateChange


receive(frame): void;

Defined in: src/ports/transport.ts:50

Deliver one inbound companion frame to the session.

ParameterType
frameUint8Array

void


receiveHex(hex): void;

Defined in: src/ports/transport.ts:55

Convenience: deliver an inbound frame from a hex string.

ParameterType
hexstring

void


send(bytes): Promise<void>;

Defined in: src/ports/transport.ts:25

Write one complete companion frame to the radio.

ParameterType
bytesUint8Array

Promise<void>

Transport.send


setState(s): void;

Defined in: src/ports/transport.ts:44

Transition state and notify the subscriber.

ParameterType
sTransportState

void