libp2p/stream/bufferstream

    Dark Mode
Search:
Group by:
  Source   Edit

Types

BufferStream = ref object of Connection
  readQueue*: AsyncQueue[seq[byte]]
  readBuf*: StreamSeq
  pushing*: bool
  reading*: bool
  pushedEof*: bool
  returnedEof*: bool
  Source   Edit

Consts

BufferStreamTrackerName = "BufferStream"
  Source   Edit

Procs

proc len(s: BufferStream): int {....raises: [], tags: [].}
  Source   Edit
proc new(T: typedesc[BufferStream]; timeout: Duration = DefaultConnectionTimeout): T:type {.
    ...raises: [].}
  Source   Edit
func shortLog(s: BufferStream): auto {....raises: [], tags: [].}
  Source   Edit

Methods

method atEof(s: BufferStream): bool {....raises: [], tags: [].}
  Source   Edit
method closeImpl(s: BufferStream): InternalRaisesFuture[void, void] {.
    stackTrace: false, ...raises: [], gcsafe, raises: [], raises: [], raises: [],
    raises: [], raises: [], raises: [], tags: [RootEffect].}
  Source   Edit
method initStream(s: BufferStream) {....raises: [], raises: [], raises: [],
                                     tags: [TimeEffect, RootEffect].}
  Source   Edit
method pushData(s: BufferStream; data: seq[byte]): InternalRaisesFuture[void,
    (CancelledError, LPStreamError)] {.base, stackTrace: false, ...raises: [],
                                       gcsafe, raises: [], raises: [],
                                       tags: [RootEffect].}

Write bytes to internal read buffer, use this to fill up the buffer with data.

pushTo will block if the queue is full, thus maintaining backpressure.

  Source   Edit
method pushEof(s: BufferStream): InternalRaisesFuture[void,
    (CancelledError, LPStreamError)] {.base, stackTrace: false, ...raises: [],
                                       gcsafe, raises: [], raises: [],
                                       tags: [RootEffect].}
  Source   Edit
method readOnce(s: BufferStream; pbytes: pointer; nbytes: int): InternalRaisesFuture[
    int, (CancelledError, LPStreamError)] {.stackTrace: false, ...raises: [],
    gcsafe, raises: [], raises: [], tags: [RootEffect].}
  Source   Edit

Templates

template formatItIMPL(it: BufferStream): auto
  Source   Edit

Exports

DNS_OR_IP, ==, shortLog, init, random, UDP_DNS, MaError, ephemeral, MaPattern, MaPatternOp, ==, WS_DNS, initVBuffer, <=, decode, filterIt, ECDHEScheme, shortLog, init, closed, [], MaxSizeError, shuffle, random, init, Secret, peekVarint, random, $, validate, mac, init, Memory, bytes, maxInlineKeyLength, TranscoderDNS, QUIC, [], init, ephemeral, withValue, WS_IP, public, MAKind, write, write, init, getField, valueOr, init, getRepeatedField, matchPartial, libp2p_pki_schemes, getBytes, WebSockets, init, readLp, HTTP, initVBuffer, atEof, LPStreamTrackerName, peekSeq, toOpt, join, fullAddrs, payloadType, LPStreamError, init, $, IP, protoAddress, QUIC_V1_IP, newRng, ==, withValue, checkValid, getPublicKey, len, CircuitRelay, extractPublicKey, mapAnd, new, maErr, UDP_IP, new, newLPStreamEOFError, init, DNSADDR, AddressMapper, write, WSS, LPStream, QUIC_V1, TCP_IP, init, closeImpl, readSeq, toBytes, TCP_DNS, shortLog, encode, len, capLen, init, protoName, protoArgument, ==, toRawBytes, TranscoderIP6Zone, $, init, WSS_DNS, match, writeLPVarint, CryptoResult, parseFullAddress, init, WebRTCDirect, init, UDP, PeerInfo, TranscoderOnion, StreamTracker, write, init, LPStreamResetError, writeArray, getRawBytes, LPStreamIncompleteError, [], LPStreamEOFError, IP6, shortLog, decode, initVBuffer, PKScheme, payload, init, Connection, write, TCP, PrivateKey, getBytes, write, init, &=, PeerInfoError, newLPStreamClosedError, random, compilesOr, TranscoderMemory, close, TranscoderIP4, init, toException, DNS, init, goffset, >, KeyPair, high, toString, init, cmp, init, DefaultConnectionTimeout, formatItIMPL, formatItIMPL, formatItIMPL, Signature, contains, exclIfIt, formatItIMPL, toBytes, DigestSheme, IPFS, getField, readOnce, init, isEmpty, data, shortLog, hex, protocols, hash, HTTPS, UNIX, LPError, TLS_WS, sign, init, encode, supported, MaResult, toBytes, writeSeq, init, &, DNS6, decode, IpTransportProtocol, init, IP4, TranscoderPort, writeLp, getBytes, safeConvert, init, >=, QUIC_V1_DNS, payloadDomain, $, withValue, init, LPStreamLimitError, TranscoderOnion3, SignedPayload, toBytes, newLPStreamLimitError, write, keyOpenArray, match, WebSockets_DNS, $, isEmpty, init, newLPStreamIncompleteError, MAProtocol, newLPStreamResetError, initStream, init, getField, shortLog, DNS4, MultiAddress, getWrapped, selectBest, P2PPattern, Envelope, hasPublicKey, toException, isEnough, DNSANY, finish, Reliable, addrs, hex, closeImpl, write, WS, stretchKeys, encode, init, getField, match, readArray, <, iv, readLine, Eof, CryptoError, append, hash, init, parseFullAddress, WSS_IP, LPStreamConnDownError, peekArray, PeerRecord, init, SupportedSchemes, getField, RsaDefaultKeySize, hash, Unreliable, SupportedSchemesInt, random, checkFutures, macOpenArray, init, validate, $, mapEq, Onion3, TcpOnion3, concat, TranscoderP2P, AddressInfo, ConnectionTrackerName, TranscoderIP6, write, EnvelopeError, encode, len, newLPStreamRemoteClosedError, MaPatResult, Direction, key, InvalidVarintError, shortLog, items, init, write, getBytes, write, UTP, readVarint, verify, TimeoutHandler, QUIC_IP, PublicKey, WebSockets_IP, VBuffer, writeLp, writePBVarint, readExactly, protoArgument, mapOr, newLPStreamConnDownError, init, initStream, readVarint, ivOpenArray, closeWithEOF, orError, getField, LPStreamRemoteClosedError, protoCode, MaInvalidAddress, LPStreamClosedError, PeerId, write, getOrder, QUIC_DNS, update, TranscoderUnix, SignedPeerRecord, writeVarint