libp2p/transports/wstransport

Search:
Group by:
Source   Edit  

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 closeImpl(s: WsStream): InternalRaisesFuture[void, void] {.
    ...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