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): Future[void] {....raises: [], tags: [RootEffect].}
- close the stream and clear the buffer Source Edit
method initStream(s: BufferStream) {....raises: [], tags: [TimeEffect, RootEffect].}
- Source Edit
method pushData(s: BufferStream; data: seq[byte]): Future[void] {.base, stackTrace: false, ...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): Future[void] {.base, stackTrace: false, ...gcsafe, raises: [], raises: [], tags: [RootEffect].}
- Source Edit
method readOnce(s: BufferStream; pbytes: pointer; nbytes: int): Future[int] {. stackTrace: false, ...gcsafe, raises: [], raises: [], tags: [RootEffect].}
- Source Edit
Templates
template formatItIMPL(it: BufferStream): auto
- Source Edit
Exports
-
newLPStreamWriteError, getProtoHeader, shortLog, random, $, MaError, ephemeral, MaPatternOp, HTTP, initVBuffer, getProtoHeader, MaxSizeError, ProtoHeader, ==, getLen, ECDHEScheme, shortLog, init, closed, [], shuffle, random, init, VBuffer, Secret, peekVarint, random, $, validate, mapOr, key, maxInlineKeyLength, TranscoderDNS, QUIC, [], init, ephemeral, getRequiredField, getField, supported, getWrapped, getBytes, public, MAKind, write, write, init, getField, checkFieldNumber, init, getRepeatedField, matchPartial, getBytes, len, ==, readLp, init, initVBuffer, atEof, LPStreamTrackerName, peekSeq, payloadType, <=, LPStreamError, init, decode, IP, protoAddress, newRng, DefaultConnectionTimeout, checkValid, getPublicKey, decodeProposal, len, CircuitRelay, extractPublicKey, mapAnd, new, hash, new, newLPStreamEOFError, init, ==, DNSADDR, hash, init, write, WSS, LPStream, writePacked, init, closeImpl, readSeq, toBytes, shortLog, encode, TranscoderIP4, init, protoName, toRawBytes, TranscoderIP6Zone, $, initProtoBuffer, newLPStreamReadError, init, match, writeLPVarint, CryptoResult, ProtoResult, WebRTCDirect, init, init, UDP, PeerInfo, TranscoderOnion, StreamTracker, write, init, readVarint, isEmpty, writeArray, writeLp, shcopy, LPStreamIncompleteError, PeerId, LPStreamEOFError, IP6, shortLog, initVBuffer, decode, ProtoFlags, PKScheme, isUpgraded, payload, stretchKeys, Connection, write, TCP, PrivateKey, getBytes, write, init, &=, PeerInfoError, newLPStreamClosedError, close, init, initProtoBuffer, toException, DNS, init, init, upgrade, goffset, finish, getRawBytes, >, KeyPair, TimeoutHandler, init, high, toString, cmp, init, SupportedWireTypes, formatItIMPL, formatItIMPL, formatItIMPL, Signature, formatItIMPL, toBytes, DigestSheme, IPFS, readOnce, isEmpty, MultiAddress, ProtoScalar, shortLog, LPStreamIncorrectDefect, hex, protocols, init, HTTPS, tryAndWarn, len, LPError, getPtr, write, sign, encode, update, MaResult, init, ProtoField, toBytes, writeSeq, &, DNS6, IpTransportProtocol, toOpenArray, init, allFuturesThrowing, IP4, TranscoderPort, isEnough, write, getField, DNSANY, createExchange, >=, init, mac, payloadDomain, $, LPStreamLimitError, libp2p_pki_schemes, SignedPayload, init, toBytes, newLPStreamLimitError, write, keyOpenArray, init, match, $, isEmpty, LPStreamReadError, getRequiredRepeatedField, newLPStreamIncompleteError, newLPStreamReadError, initProtoBuffer, MAProtocol, getPackedRepeatedField, initStream, contains, init, shortLog, DNS4, readArray, selectBest, newLPStreamIncorrectDefect, P2PPattern, Envelope, hasPublicKey, toException, isEnough, Reliable, hex, ProtoBuffer, closeImpl, write, decode, WS, readVarint, encode, init, getField, match, getField, <, iv, onUpgrade, readLine, Eof, CryptoError, getField, append, MaPattern, vsizeof, init, peekArray, UNIX, PeerRecord, SupportedSchemes, getRepeatedField, LPStreamWriteError, getField, RsaDefaultKeySize, hash, Unreliable, SupportedSchemesInt, random, checkFutures, macOpenArray, init, validate, $, protoCode, mapEq, getField, write, concat, TranscoderP2P, AddressInfo, ConnectionTrackerName, TranscoderIP6, init, write, EnvelopeError, encode, WebSockets, MaxMessageSize, createProposal, MaPatResult, Direction, init, InvalidVarintError, shortLog, ==, write, getBytes, write, init, UTP, finish, verify, PublicKey, writeLp, writePBVarint, ProtoFieldKind, readExactly, protoArgument, getRepeatedField, ProtoError, init, initStream, getField, ivOpenArray, closeWithEOF, orError, decodeExchange, getField, MaInvalidAddress, LPStreamClosedError, writeVarint, items, write, getOrder, [], TranscoderUnix, SignedPeerRecord, join