import { type IConnection } from "https://deno.land/x/earthstar_streaming_rpc@v5.0.1/src/types.ts";
Converts method calls to Envelopes and passes them to a Transport.
Represents a one-to-one network connection.
Type Parameters
MethodsType extends FnsBag
Properties
status: Watchable<ConnectionStatus>
_closeCbs: Set<Thunk>
_transport: ITransport<MethodsType>
_methods: { [methodName: string]: Fn; }
_sendEnvelope: (conn: IConnection<MethodsType>, env: Envelope<MethodsType>) => Promise<void>
Methods
handleIncomingEnvelope(env: Envelope<MethodsType>): Promise<void>
notify<MethodKey extends keyof MethodsType>(method: MethodKey, ...args: Parameters<MethodsType[MethodKey]>): Promise<void>
request<MethodKey extends keyof MethodsType>(method: MethodKey, ...args: Parameters<MethodsType[MethodKey]>): Promise<ReturnType<MethodsType[MethodKey]>>