WebSocket & WebSocket Secure transport implementation
Types
WsTransport = ref object of Transport tlsPrivateKey*: TLSPrivateKey tlsCertificate*: TLSCertificate
- Source Edit
WsTransportError = object of transport.TransportError
- Source Edit
Procs
proc new(T: type WsStream; session: WSSession; dir: Direction; observedAddr: Opt[MultiAddress]; localAddr: Opt[MultiAddress]; timeout = 10.minutes): T:type {....raises: [], raises: [].}
- Source Edit
proc new(T: typedesc[WsTransport]; upgrade: Upgrade; flags: set[ServerFlags] = {}; factories: openArray[ExtFactory] = []; rng: ref HmacDrbgContext = nil; handshakeTimeout = DefaultHeadersTimeout): T:type {....raises: [], raises: [].}
- Creates a clear-text WebSocket transport Source Edit
proc new(T: typedesc[WsTransport]; upgrade: Upgrade; tlsPrivateKey: TLSPrivateKey; tlsCertificate: TLSCertificate; autotls: Opt[AutotlsService]; tlsFlags: set[TLSFlags] = {}; flags: set[ServerFlags] = {}; factories: openArray[ExtFactory] = []; rng: ref HmacDrbgContext = nil; handshakeTimeout = DefaultHeadersTimeout): T:type {....raises: [], raises: [].}
- Creates a secure WebSocket transport Source Edit
proc secure(self: WsTransport): bool {....raises: [], tags: [], forbids: [].}
- Source Edit
Methods
method accept(self: WsTransport): InternalRaisesFuture[Connection, (TransportError, CancelledError)] {....stackTrace: false, raises: [], gcsafe, raises: [], tags: [RootEffect], forbids: [].}
- Source Edit
method dial(self: WsTransport; hostname: string; address: MultiAddress; peerId: Opt[PeerId] = Opt.none(PeerId)): InternalRaisesFuture[ Connection, (TransportError, CancelledError)] {....stackTrace: false, raises: [], gcsafe, raises: [], tags: [RootEffect], forbids: [].}
- dial a peer Source Edit
method getWrapped(s: WsStream): Connection {....raises: [], tags: [], forbids: [].}
- Source Edit
method handles(t: WsTransport; address: MultiAddress): bool {....gcsafe, raises: [], raises: [], tags: [], forbids: [].}
- Source Edit
method initStream(s: WsStream) {....raises: [], tags: [TimeEffect, RootEffect], forbids: [].}
- Source Edit
method readOnce(s: WsStream; pbytes: pointer; nbytes: int): InternalRaisesFuture[ int, (CancelledError, LPStreamError)] {....stackTrace: false, raises: [], gcsafe, raises: [], tags: [RootEffect], forbids: [].}
- Source Edit
method start(self: WsTransport; addrs: seq[MultiAddress]): InternalRaisesFuture[ void, (LPError, TransportError, CancelledError)] {....stackTrace: false, raises: [], gcsafe, raises: [], tags: [RootEffect], forbids: [].}
- listen on the transport Source Edit
method stop(self: WsTransport): InternalRaisesFuture[void, void] {. ...stackTrace: false, raises: [], gcsafe, raises: [], tags: [RootEffect], forbids: [].}
- stop the transport Source Edit
method write(s: WsStream; msg: seq[byte]): InternalRaisesFuture[void, (CancelledError, LPStreamError)] {....stackTrace: false, raises: [], gcsafe, raises: [], tags: [RootEffect], forbids: [].}
- Source Edit