libp2p/muxers/yamux/yamux

    Dark Mode
Search:
Group by:
  Source   Edit

Types

Yamux = ref object of Muxer
  channels: Table[uint32, YamuxChannel]
  flushed: Table[uint32, int]
  currentId: uint32
  isClosed: bool
  maxChannCount: int
  windowSize: int
  maxSendQueueSize: int
  inTimeout: Duration
  outTimeout: Duration
  Source   Edit
YamuxChannel = ref object of Connection
  id: uint32
  recvWindow: int
  sendWindow: int
  maxRecvWindow: int
  maxSendQueueSize: int
  conn: Connection
  isSrc: bool
  opened: bool
  isSending: bool
  sendQueue: seq[ToSend]
  recvQueue: seq[byte]
  isReset: bool
  remoteReset: bool
  closedRemotely: Future[void]
  closedLocally: bool
  receivedData: AsyncEvent
  returnedEof: bool
  Source   Edit
YamuxError = object of MuxerError
  Source   Edit

Consts

YamuxCodec = "/yamux/1.0.0"
  Source   Edit

Procs

proc new(T: type[Yamux]; conn: Connection; maxChannCount: int = MaxChannelCount;
         windowSize: int = YamuxDefaultWindowSize;
         maxSendQueueSize: int = MaxSendQueueSize;
         inTimeout: Duration = 5.minutes; outTimeout: Duration = 5.minutes): T:type {.
    ...raises: [].}
  Source   Edit
proc setMaxRecvWindow(channel: YamuxChannel; maxRecvWindow: int) {....raises: [],
    tags: [].}
  Source   Edit

Methods

method close(m: Yamux): Future[void] {.stackTrace: false, ...raises: [], gcsafe,
                                       raises: [], raises: [],
                                       tags: [RootEffect].}
  Source   Edit
method closeImpl(channel: YamuxChannel): Future[void] {.stackTrace: false,
    ...raises: [], gcsafe, raises: [], raises: [], tags: [RootEffect].}
  Source   Edit
method getStreams(m: Yamux): seq[Connection] {....raises: [], tags: [].}
  Source   Edit
method getWrapped(channel: YamuxChannel): Connection {....raises: [], tags: [].}
  Source   Edit
method handle(m: Yamux): Future[void] {.stackTrace: false, ...raises: [], gcsafe,
                                        raises: [], raises: [],
                                        tags: [RootEffect].}
  Source   Edit
method newStream(m: Yamux; name: string = ""; lazy: bool = false): Future[
    Connection] {.stackTrace: false, ...raises: [], gcsafe, raises: [], raises: [],
                  tags: [RootEffect].}
  Source   Edit
method readOnce(channel: YamuxChannel; pbytes: pointer; nbytes: int): Future[int] {.
    stackTrace: false, ...raises: [], gcsafe, raises: [], raises: [],
    tags: [RootEffect].}
Read from a yamux channel   Source   Edit
method write(channel: YamuxChannel; msg: seq[byte]): Future[void] {....raises: [],
    tags: [RootEffect].}
Write to yamux channel   Source   Edit