chore(vendor): import pi 0.85.1
Imported as a linear vendor commit so forge rebases do not replay the upstream root tree. git-subtree-dir: third_party/pi git-subtree-split: d981de1229ef899957bbe968bc8dcda02a21f477
This commit is contained in:
18
third_party/pi/packages/client/src/transport.ts
vendored
Normal file
18
third_party/pi/packages/client/src/transport.ts
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
export interface ByteTransport {
|
||||
/** Sends one byte chunk. Calls must be delivered in invocation order. */
|
||||
send(chunk: Uint8Array): Promise<void>;
|
||||
/** Closes the transport. Implementations must make repeated calls harmless. */
|
||||
close(): void;
|
||||
}
|
||||
|
||||
export interface ByteTransportHandlers {
|
||||
/** Delivers an arbitrary inbound byte chunk. */
|
||||
onData(chunk: Uint8Array): void;
|
||||
/** Reports an orderly terminal close. */
|
||||
onClose(): void;
|
||||
/** Reports a terminal transport failure. */
|
||||
onError(error: Error): void;
|
||||
}
|
||||
|
||||
/** Creates a fresh connected, authenticated transport. Exactly one terminal handler is expected. */
|
||||
export type ByteTransportFactory = (handlers: ByteTransportHandlers) => ByteTransport | Promise<ByteTransport>;
|
||||
Reference in New Issue
Block a user