A handler for things the protocol implementation will invoke

interface ProtocolHandler {
    generatePortID: ((localAddr, p) => PromiseVow<string>);
    onBind: ((port, localAddr, p) => PromiseVow<void>);
    onConnect: ((port, localAddr, remote, c, p) => PromiseVow<AttemptDescription>);
    onCreate: ((protocol, p) => PromiseVow<void>);
    onInstantiate: undefined | ((port, localAddr, remote, p) => PromiseVow<string>);
    onListen: ((port, localAddr, listenHandler, p) => PromiseVow<void>);
    onListenRemove: ((port, localAddr, listenHandler, p) => PromiseVow<void>);
    onRevoke: ((port, localAddr, p) => PromiseVow<void>);
}

Properties

generatePortID: ((localAddr, p) => PromiseVow<string>)

Create a fresh port identifier for this protocol

Type declaration

    • (localAddr, p): PromiseVow<string>
    • Parameters

      Returns PromiseVow<string>

onBind: ((port, localAddr, p) => PromiseVow<void>)

A port will be bound

Type declaration

    • (port, localAddr, p): PromiseVow<void>
    • Parameters

      Returns PromiseVow<void>

onConnect: ((port, localAddr, remote, c, p) => PromiseVow<AttemptDescription>)

A port initiates an outbound connection

Type declaration

onCreate: ((protocol, p) => PromiseVow<void>)

This protocol is created

Type declaration

onInstantiate: undefined | ((port, localAddr, remote, p) => PromiseVow<string>)

Return unique suffix for local address

Type declaration

    • (port, localAddr, remote, p): PromiseVow<string>
    • Parameters

      Returns PromiseVow<string>

onListen: ((port, localAddr, listenHandler, p) => PromiseVow<void>)

A port was listening

Type declaration

    • (port, localAddr, listenHandler, p): PromiseVow<void>
    • Parameters

      Returns PromiseVow<void>

onListenRemove: ((port, localAddr, listenHandler, p) => PromiseVow<void>)

A port listener has been reset

Type declaration

    • (port, localAddr, listenHandler, p): PromiseVow<void>
    • Parameters

      Returns PromiseVow<void>

onRevoke: ((port, localAddr, p) => PromiseVow<void>)

The port is being completely destroyed

Type declaration

    • (port, localAddr, p): PromiseVow<void>
    • Parameters

      Returns PromiseVow<void>