chronos/streams/asyncstream

    Dark Mode
Search:
Group by:
  Source   Edit

Types

AsyncBuffer = object
  backend*: BipBuffer
  events*: array[2, AsyncEvent]
  Source   Edit
AsyncStream = object of RootObj
  reader*: AsyncStreamReader
  writer*: AsyncStreamWriter
  Source   Edit
AsyncStreamError = object of AsyncError
  Source   Edit
AsyncStreamIncorrectDefect = object of Defect
  Source   Edit
AsyncStreamReader = ref object of RootRef
  vtbl*: AsyncStreamReaderVtbl
  rsource*: AsyncStreamReader
  tsource*: StreamTransport
  state*: AsyncStreamState
  buffer*: AsyncBufferRef
  udata: pointer
  error*: ref AsyncStreamError
  bytesCount* {....deprecated.}: uint64
  future: Future[void].Raising([])
  Source   Edit
AsyncStreamReaderVtbl = object
  atEof*: proc (rstream: AsyncStreamReader): bool {....gcsafe, raises: [].}
  stopped*: proc (rstream: AsyncStreamReader): bool {....gcsafe, raises: [].}
  running*: proc (rstream: AsyncStreamReader): bool {....gcsafe, raises: [].}
  failed*: proc (rstream: AsyncStreamReader): bool {....gcsafe, raises: [].}
  readOnce*: ReadOnceProc
  readExactly*: proc (rstream: AsyncStreamReader; pbytes: pointer; nbytes: int) {.
      async: (...raises: [CancelledError, AsyncStreamError]).}
  readUntil*: proc (rstream: AsyncStreamReader; pbytes: pointer; nbytes: int;
                    sep: seq[byte]): Future[int] {.
      async: (...raises: [CancelledError, AsyncStreamError]).}
  readLine*: proc (rstream: AsyncStreamReader; limit = 0; sep = "\r\n"): Future[
      string] {.async: (...raises: [CancelledError, AsyncStreamError]).}
  read*: proc (rstream: AsyncStreamReader): Future[seq[byte]] {.
      async: (...raises: [CancelledError, AsyncStreamError]).}
  readN*: proc (rstream: AsyncStreamReader; n: int): Future[seq[byte]] {.
      async: (...raises: [CancelledError, AsyncStreamError]).}
  consume*: proc (rstream: AsyncStreamReader): Future[int] {.
      async: (...raises: [CancelledError, AsyncStreamError]).}
  consumeN*: proc (rstream: AsyncStreamReader; n: int): Future[int] {.
      async: (...raises: [CancelledError, AsyncStreamError]).}
  readMessage*: proc (rstream: AsyncStreamReader; pred: ReadMessagePredicate) {.
      async: (...raises: [CancelledError, AsyncStreamError]).}
  close*: proc (rstream: AsyncStreamReader) {.async: (...raises: []).}
  Source   Edit
AsyncStreamState = enum
  Running,                  ## Stream is online and working
  Error,                    ## Stream has stored error
  Stopped,                  ## Stream was closed while working
  Finished,                 ## Stream was properly finished
  Closing,                  ## Stream is closing
  Closed                     ## Stream was closed
  Source   Edit
AsyncStreamWriter = ref object of RootRef
  vtbl*: AsyncStreamWriterVtbl
  wsource*: AsyncStreamWriter
  tsource*: StreamTransport
  state*: AsyncStreamState
  queue* {....deprecated.}: AsyncQueue[WriteItem]
  error*: ref AsyncStreamError
  udata: pointer
  bytesCount* {....deprecated.}: uint64
  future: Future[void].Raising([])
  Source   Edit
AsyncStreamWriterVtbl = object
  atEof*: proc (wstream: AsyncStreamWriter): bool {....gcsafe, raises: [].}
  stopped*: proc (wstream: AsyncStreamWriter): bool {....gcsafe, raises: [].}
  running*: proc (wstream: AsyncStreamWriter): bool {....gcsafe, raises: [].}
  failed*: proc (wstream: AsyncStreamWriter): bool {....gcsafe, raises: [].}
  write*: WriteProc
  finish*: proc (wstream: AsyncStreamWriter) {.
      async: (...raises: [CancelledError, AsyncStreamError]).}
  close*: proc (wstream: AsyncStreamWriter) {.async: (...raises: []).}
  Source   Edit
ReadOnceProc = proc (rstream: AsyncStreamReader; pbytes: pointer; nbytes: int): Future[
    int] {.async: (...raises: [CancelledError, AsyncStreamError]).}
  Source   Edit
StreamReaderLoop = proc (stream: AsyncStreamReader): Future[void] {.
    async: (...raises: []).}
Main read loop for read streams.   Source   Edit
StreamWriterLoop = proc (stream: AsyncStreamWriter): Future[void] {.
    async: (...raises: []).}
Main write loop for write streams.   Source   Edit
WriteItem = object
  case kind*: WriteType
  of Pointer:
      dataPtr*: pointer

  of Sequence:
      dataSeq*: seq[byte]

  of String:
      dataStr*: string

  size*: int
  offset*: int
  future*: Future[void].Raising([CancelledError, AsyncStreamError])
  Source   Edit
WriteProc = proc (wstream: AsyncStreamWriter; pbytes: pointer; nbytes: int) {.
    async: (...raises: [CancelledError, AsyncStreamError]).}
  Source   Edit
WriteType = enum
  Pointer, Sequence, String
  Source   Edit

Consts

AsyncStreamDefaultBufferSize = 16384
Default reading stream internal buffer size.   Source   Edit
AsyncStreamDefaultQueueSize = 0
Default writing stream internal queue size.   Source   Edit
AsyncStreamReaderTrackerName = "async.stream.reader"
AsyncStreamReader leaks tracker name   Source   Edit
AsyncStreamWriterTrackerName = "async.stream.writer"
AsyncStreamWriter leaks tracker name   Source   Edit

Procs

proc atEof(rstream: AsyncStreamReader): bool {....raises: [], gcsafe,
    tags: [RootEffect].}
Returns true is reading stream is closed or finished and internal buffer do not have any bytes left.   Source   Edit
proc atEof(wstream: AsyncStreamWriter): bool {....raises: [], gcsafe,
    tags: [RootEffect].}
Returns true is writing stream wstream closed or finished.   Source   Edit
proc close(rw: AsyncStreamReader) {....raises: [], gcsafe, tags: [RootEffect].}

Close and frees resources of stream rw.

Note close() procedure is not completed immediately!

  Source   Edit
proc close(rw: AsyncStreamWriter) {....raises: [], gcsafe, tags: [RootEffect].}

Close and frees resources of stream rw.

Note close() procedure is not completed immediately!

  Source   Edit
proc closed(rw: AsyncStreamRW): bool {....raises: [], gcsafe.}
Returns true is reading/writing stream is closed.   Source   Edit
proc closeWait(rw: AsyncStreamRW): InternalRaisesFuture[void, void] {.
    stackTrace: false, ...raises: [], gcsafe, raises: [], gcsafe, raises: [],
    gcsafe.}
Close and frees resources of stream rw.   Source   Edit
proc consume(rstream: AsyncStreamReader): InternalRaisesFuture[int,
    (CancelledError, AsyncStreamError)] {.stackTrace: false, ...raises: [], gcsafe,
    raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect].}
  Source   Edit
proc consume(rstream: AsyncStreamReader; n: int): InternalRaisesFuture[int,
    (CancelledError, AsyncStreamError)] {.stackTrace: false, ...raises: [], gcsafe,
    raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect].}
  Source   Edit
proc failed(rw: AsyncStreamRW): bool {....raises: [], gcsafe.}
Returns true if reading/writing stream is in failed state.   Source   Edit
proc finish(wstream: AsyncStreamWriter): InternalRaisesFuture[void,
    (CancelledError, AsyncStreamError)] {.stackTrace: false, ...raises: [], gcsafe,
    raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect].}
Finish write stream wstream.   Source   Edit
proc finished(rw: AsyncStreamRW): bool {....raises: [], gcsafe.}
Returns true if reading/writing stream is finished (completed).   Source   Edit
proc forget(sb: AsyncBufferRef) {.inline, ...raises: [], gcsafe, tags: [].}
  Source   Edit
proc getUserData[T](rw: AsyncStreamRW): T {.inline, ...deprecated, raises: [],
    gcsafe.}
Deprecated
Obtain user data associated with AsyncStreamReader or AsyncStreamWriter object rw.   Source   Edit
proc init(child, rsource: AsyncStreamReader) {....raises: [], gcsafe, tags: [].}
Initialize newly allocated object child with AsyncStreamReader parameters.   Source   Edit
proc init(child, rsource: AsyncStreamReader; loop: StreamReaderLoop;
          bufferSize = AsyncStreamDefaultBufferSize) {.
    ...deprecated: "initSimpleVtbl", raises: [], gcsafe, tags: [RootEffect].}
Deprecated: initSimpleVtbl
Initialize newly allocated object child with AsyncStreamReader parameters.   Source   Edit
proc init(child, wsource: AsyncStreamWriter) {....raises: [], gcsafe, tags: [].}
Initialize newly allocated object child with AsyncStreamWriter parameters.   Source   Edit
proc init(child, wsource: AsyncStreamWriter; loop: StreamWriterLoop;
          queueSize = AsyncStreamDefaultQueueSize) {.
    ...deprecated: "initSimpleVtbl", raises: [], gcsafe, raises: [], gcsafe,
    raises: [], gcsafe, tags: [RootEffect].}
Deprecated: initSimpleVtbl
Initialize newly allocated object child with AsyncStreamWriter parameters.   Source   Edit
proc init(child: AsyncStreamReader; tsource: StreamTransport) {....raises: [],
    gcsafe, tags: [].}
Initialize newly allocated object child with AsyncStreamReader parameters.   Source   Edit
proc init(child: AsyncStreamReader; vtbl: AsyncStreamReaderVtbl) {....raises: [],
    gcsafe, tags: [].}
Initialize newly allocated object child with AsyncStreamReader parameters.   Source   Edit
proc init(child: AsyncStreamWriter; tsource: StreamTransport) {....raises: [],
    gcsafe, tags: [].}
Initialize newly allocated object child with AsyncStreamWriter parameters.   Source   Edit
proc init(child: AsyncStreamWriter; vtbl: AsyncStreamWriterVtbl) {....raises: [],
    gcsafe, tags: [].}
Initialize newly allocated object child with AsyncStreamWriter parameters.   Source   Edit
proc init[T](child, rsource: AsyncStreamReader; loop: StreamReaderLoop;
             bufferSize = AsyncStreamDefaultBufferSize; udata: ref T) {.
    ...deprecated: "`udata` deprecated, use inheritance instead", raises: [],
    gcsafe.}
Deprecated: `udata` deprecated, use inheritance instead
Initialize newly allocated object child with AsyncStreamReader parameters.   Source   Edit
proc init[T](child, rsource: AsyncStreamReader; udata: ref T) {.
    ...deprecated: "`udata` deprecated, use inheritance instead", raises: [],
    gcsafe.}
Deprecated: `udata` deprecated, use inheritance instead
Initialize newly allocated object child with AsyncStreamReader parameters.   Source   Edit
proc init[T](child, wsource: AsyncStreamWriter; loop: StreamWriterLoop;
             queueSize = AsyncStreamDefaultQueueSize; udata: ref T) {.
    ...deprecated: "`udata` deprecated, use inheritance instead", raises: [],
    gcsafe.}
Deprecated: `udata` deprecated, use inheritance instead
Initialize newly allocated object child with AsyncStreamWriter parameters.   Source   Edit
proc init[T](child, wsource: AsyncStreamWriter; udata: ref T) {.
    ...deprecated: "`udata` deprecated, use inheritance instead", raises: [],
    gcsafe.}
Deprecated: `udata` deprecated, use inheritance instead
Initialize newly allocated object child with AsyncStreamWriter parameters.   Source   Edit
proc init[T](child: AsyncStreamReader; tsource: StreamTransport; udata: ref T) {.
    ...deprecated: "`udata` deprecated, use inheritance instead", raises: [],
    gcsafe.}
Deprecated: `udata` deprecated, use inheritance instead
Initialize newly allocated object child with AsyncStreamReader parameters.   Source   Edit
proc init[T](child: AsyncStreamWriter; tsource: StreamTransport; udata: ref T) {.
    ...deprecated: "`udata` deprecated, use inheritance instead", raises: [],
    gcsafe.}
Deprecated: `udata` deprecated, use inheritance instead
Initialize newly allocated object child with AsyncStreamWriter parameters.   Source   Edit
proc initSimpleVtbl(T: type AsyncStreamReaderVtbl; readOnceImpl: ReadOnceProc;
                    streamBufferSize = DefaultStreamBufferSize): T:type {.
    ...raises: [], gcsafe.}
  Source   Edit
proc initSimpleVtbl(T: type AsyncStreamWriterVtbl; writeImpl: WriteProc): T:type {.
    ...raises: [], gcsafe.}
  Source   Edit
proc initUdata[T](child: AsyncStreamRW; udata: ref T) {....raises: [], gcsafe.}
  Source   Edit
proc join(rw: AsyncStreamRW): InternalRaisesFuture[void, (CancelledError,)] {.
    stackTrace: false, ...raises: [], gcsafe, raises: [], gcsafe, raises: [],
    gcsafe.}
  Source   Edit
proc new(t: typedesc[AsyncBufferRef]; size: int): AsyncBufferRef {....raises: [],
    gcsafe.}
  Source   Edit
proc newAsyncStreamIncompleteError(): ref AsyncStreamIncompleteError {.noinline,
    ...raises: [], gcsafe, tags: [].}
  Source   Edit
proc newAsyncStreamLimitError(): ref AsyncStreamLimitError {.noinline,
    ...raises: [], gcsafe, tags: [].}
  Source   Edit
proc newAsyncStreamReader(rsource: AsyncStreamReader): AsyncStreamReader {.
    ...raises: [], gcsafe, tags: [].}
Create copy of AsyncStreamReader object rsource.   Source   Edit
proc newAsyncStreamReader(rsource: AsyncStreamReader; loop: StreamReaderLoop;
                          bufferSize = AsyncStreamDefaultBufferSize): AsyncStreamReader {.
    ...deprecated: "initSimpleVtbl", raises: [], gcsafe, tags: [RootEffect].}
Deprecated: initSimpleVtbl

Create new AsyncStreamReader object, which will use other async stream reader rsource as source data channel.

loop is main reading loop procedure.

bufferSize is internal buffer size.

  Source   Edit
proc newAsyncStreamReader(tsource: StreamTransport): AsyncStreamReader {.
    ...raises: [], gcsafe, tags: [].}
Create new AsyncStreamReader object, which will use stream transport tsource as source data channel.   Source   Edit
proc newAsyncStreamReader[T](rsource: AsyncStreamReader; loop: StreamReaderLoop;
                             bufferSize = AsyncStreamDefaultBufferSize;
                             udata: ref T): AsyncStreamReader {.
    ...deprecated: "`udata` deprecated, use inheritance instead", raises: [],
    gcsafe.}
Deprecated: `udata` deprecated, use inheritance instead

Create new AsyncStreamReader object, which will use other async stream reader rsource as source data channel.

loop is main reading loop procedure.

bufferSize is internal buffer size.

udata - user object which will be associated with new AsyncStreamReader object.

  Source   Edit
proc newAsyncStreamReader[T](rsource: AsyncStreamReader; udata: ref T): AsyncStreamReader {.
    ...deprecated: "`udata` deprecated, use inheritance instead", raises: [],
    gcsafe.}
Deprecated: `udata` deprecated, use inheritance instead

Create copy of AsyncStreamReader object rsource.

udata - user object which will be associated with new AsyncStreamReader object.

  Source   Edit
proc newAsyncStreamReader[T](tsource: StreamTransport; udata: ref T): AsyncStreamReader {.
    ...deprecated: "`udata` deprecated, use inheritance instead", raises: [],
    gcsafe.}
Deprecated: `udata` deprecated, use inheritance instead

Create new AsyncStreamReader object, which will use stream transport tsource as source data channel.

udata - user object which will be associated with new AsyncStreamWriter object.

  Source   Edit
proc newAsyncStreamUseClosedError(): ref AsyncStreamUseClosedError {.noinline,
    ...raises: [], gcsafe, tags: [].}
  Source   Edit
proc newAsyncStreamWriteEOFError(): ref AsyncStreamWriteEOFError {.noinline,
    ...raises: [], gcsafe, tags: [].}
  Source   Edit
proc newAsyncStreamWriter(tsource: StreamTransport): AsyncStreamWriter {.
    ...raises: [], gcsafe, tags: [].}
Create new AsyncStreamWriter object which will use stream transport tsource as data channel.   Source   Edit
proc newAsyncStreamWriter(wsource: AsyncStreamWriter): AsyncStreamWriter {.
    ...raises: [], gcsafe, tags: [].}
Create copy of AsyncStreamWriter object wsource.   Source   Edit
proc newAsyncStreamWriter(wsource: AsyncStreamWriter; loop: StreamWriterLoop;
                          queueSize = AsyncStreamDefaultQueueSize): AsyncStreamWriter {.
    ...deprecated: "initSimpleVtbl", raises: [], gcsafe, tags: [RootEffect].}
Deprecated: initSimpleVtbl

Create new AsyncStreamWriter object which will use other AsyncStreamWriter object wsource as data channel.

loop is main writing loop procedure.

queueSize is writing queue size (default size is unlimited).

  Source   Edit
proc newAsyncStreamWriter[T](tsource: StreamTransport; udata: ref T): AsyncStreamWriter {.
    ...deprecated: "`udata` deprecated, use inheritance instead", raises: [],
    gcsafe.}
Deprecated: `udata` deprecated, use inheritance instead

Create new AsyncStreamWriter object which will use stream transport tsource as data channel.

udata - user object which will be associated with new AsyncStreamWriter object.

  Source   Edit
proc newAsyncStreamWriter[T](wsource: AsyncStreamWriter; loop: StreamWriterLoop;
                             queueSize = AsyncStreamDefaultQueueSize;
                             udata: ref T): AsyncStreamWriter {.
    ...deprecated: "`udata` deprecated, use inheritance instead", raises: [],
    gcsafe.}
Deprecated: `udata` deprecated, use inheritance instead

Create new AsyncStreamWriter object which will use other AsyncStreamWriter object wsource as data channel.

loop is main writing loop procedure.

queueSize is writing queue size (default size is unlimited).

udata - user object which will be associated with new AsyncStreamWriter object.

  Source   Edit
proc newAsyncStreamWriter[T](wsource: AsyncStreamWriter; udata: ref T): AsyncStreamWriter {.
    ...deprecated: "`udata` deprecated, use inheritance instead", raises: [],
    gcsafe.}
Deprecated: `udata` deprecated, use inheritance instead

Create copy of AsyncStreamWriter object wsource.

udata - user object which will be associated with new AsyncStreamWriter object.

  Source   Edit
proc raiseAsyncStreamIncompleteError() {.noinline, noreturn,
    ...raises: [AsyncStreamIncompleteError], raises: [], gcsafe, tags: [].}
  Source   Edit
proc raiseAsyncStreamLimitError() {.noinline, noreturn,
                                    ...raises: [AsyncStreamLimitError], raises: [],
                                    gcsafe, tags: [].}
  Source   Edit
proc raiseAsyncStreamUseClosedError() {.noinline, noreturn,
                                        ...raises: [AsyncStreamUseClosedError],
                                        raises: [], gcsafe, tags: [].}
  Source   Edit
proc raiseAsyncStreamWriteEOFError() {.noinline, noreturn,
                                       ...raises: [AsyncStreamWriteEOFError],
                                       raises: [], gcsafe, tags: [].}
  Source   Edit
proc raiseEmptyMessageDefect() {.noinline, noreturn, ...raises: [], gcsafe,
                                 tags: [].}
  Source   Edit
proc read(rstream: AsyncStreamReader): InternalRaisesFuture[seq[byte],
    (CancelledError, AsyncStreamError)] {.stackTrace: false, ...raises: [], gcsafe,
    raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect].}
  Source   Edit
proc read(rstream: AsyncStreamReader; n: int): InternalRaisesFuture[seq[byte],
    (CancelledError, AsyncStreamError)] {.stackTrace: false, ...raises: [], gcsafe,
    raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect].}
  Source   Edit
proc readExactly(rstream: AsyncStreamReader; pbytes: pointer; nbytes: int): InternalRaisesFuture[
    void, (CancelledError, AsyncStreamError)] {.stackTrace: false, ...raises: [],
    gcsafe, raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect].}
  Source   Edit
proc readLine(rstream: AsyncStreamReader; limit = 0; sep = "\r\n"): InternalRaisesFuture[
    string, (CancelledError, AsyncStreamError)] {.stackTrace: false, ...raises: [],
    gcsafe, raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect].}
  Source   Edit
proc readMessage(rstream: AsyncStreamReader; pred: ReadMessagePredicate): InternalRaisesFuture[
    void, (CancelledError, AsyncStreamError)] {.stackTrace: false, ...raises: [],
    gcsafe, raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect].}
  Source   Edit
proc readOnce(rstream: AsyncStreamReader; pbytes: pointer; nbytes: int): InternalRaisesFuture[
    int, (CancelledError, AsyncStreamError)] {.stackTrace: false, ...raises: [],
    gcsafe, raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect].}
  Source   Edit
proc readUntil(rstream: AsyncStreamReader; pbytes: pointer; nbytes: int;
               sep: seq[byte]): InternalRaisesFuture[int,
    (CancelledError, AsyncStreamError)] {.stackTrace: false, ...raises: [], gcsafe,
    raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect].}
  Source   Edit
proc running(rw: AsyncStreamRW): bool {....raises: [], gcsafe.}
Returns true if reading/writing stream is still pending.   Source   Edit
proc setError(rw: AsyncStreamRW; error: ref AsyncStreamError) {....raises: [],
    gcsafe.}
  Source   Edit
proc setErrorAndRaise(rw: AsyncStreamRW; error: ref AsyncStreamError) {.
    noreturn, ...raises: [AsyncStreamError], raises: [], gcsafe.}
  Source   Edit
proc stopped(rw: AsyncStreamRW): bool {....raises: [], gcsafe.}
Returns true if reading/writing stream is stopped (interrupted).   Source   Edit
proc upload(sb: AsyncBufferRef; pbytes: ptr byte; nbytes: int): InternalRaisesFuture[
    void, (CancelledError,)] {.stackTrace: false, ...raises: [], gcsafe,
                               raises: [], gcsafe, raises: [], gcsafe,
                               tags: [RootEffect].}
You can upload any amount of bytes to the buffer. If size of internal buffer is not enough to fit all the data at once, data will be uploaded via chunks of size up to internal buffer size.   Source   Edit
proc write(wstream: AsyncStreamWriter; pbytes: pointer; nbytes: int): InternalRaisesFuture[
    void, (CancelledError, AsyncStreamError)] {.stackTrace: false, ...raises: [],
    gcsafe, raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect].}
  Source   Edit
proc write(wstream: AsyncStreamWriter; sbytes: seq[byte]; msglen = -1): InternalRaisesFuture[
    void, (CancelledError, AsyncStreamError)] {.stackTrace: false, ...raises: [],
    gcsafe, raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect].}

Write sequence of bytes sbytes of length msglen to writer stream wstream.

Sequence of bytes sbytes must not be zero-length.

If msglen < 0 whole sequence sbytes will be writen to stream. If msglen > len(sbytes) only len(sbytes) bytes will be written to stream.

  Source   Edit
proc write(wstream: AsyncStreamWriter; sbytes: string; msglen = -1): InternalRaisesFuture[
    void, (CancelledError, AsyncStreamError)] {.stackTrace: false, ...raises: [],
    gcsafe, raises: [], gcsafe, raises: [], gcsafe, tags: [RootEffect].}

Write string sbytes of length msglen to writer stream wstream.

String sbytes must not be zero-length.

If msglen < 0 whole string sbytes will be writen to stream. If msglen > len(sbytes) only len(sbytes) bytes will be written to stream.

  Source   Edit

Templates

template copyOut(dest: pointer; item: WriteItem; length: int)
  Source   Edit
template transfer(sb: AsyncBufferRef): untyped
  Source   Edit
template wait(sb: AsyncBufferRef): untyped
  Source   Edit

Exports

setThreadDispatcher, closeSocket, ENOSR, EHOSTUNREACH, EHOSTDOWN, ECONNRESET, EDQUOT, fail, ECANCELED, EMLINK, milliseconds, <=, +=, $, asyncTimer, internalRaiseIfError, getSrcLocation, FutureError, fromNow, weeks, ESPIPE, LocationKind, ==, id, <=, FutureCompletedError, ENOEXEC, ESHUTDOWN, fail, EREMOTEIO, toString, EDESTADDRREQ, waitFor, complete, oneValue, internalInitFutureBase, EPROTONOSUPPORT, Nanosecond, epochNanoSeconds, cancelAndWait, addTimer, Moment, ECOMM, EPROTOTYPE, AsyncExceptionError, FuturePendingError, milliseconds, getTrackerCounter, ENOENT, millis, removeTimer, FutureFlag, ENOTCONN, EBUSY, init, ENOTUNIQ, days, +=, race, or, cancelSoon, AsyncTimeoutError, EUCLEAN, Second, EEXIST, ENOLINK, newInternalRaisesFuture, idleAsync, ==, internalRaiseIfError, SomeIntegerI64, ENOMEM, ENOKEY, +, removeWriter2, ENOMSG, [], trackCounter, EKEYEXPIRED, Week, isCounterLeaked, awaitne, EAFNOSUPPORT, EWOULDBLOCK, EREMOTE, Finished, untrackCounter, AsyncCallback, EHWPOISON, epochSeconds, newDispatcher, EPERM, microseconds, trackerCounters, >=, weeks, Finished, cancelCallback=, ETOOMANYREFS, $, EISCONN, callSoon, ESOCKTNOSUPPORT, setGlobalDispatcher, EXDEV, EBADF, cancelSoon, allFinished, TrackerBase, hours, InternalAsyncCallback, EBFONT, ENETDOWN, EACCES, ELOOP, InfiniteDuration, ETIMEDOUT, >=, EINVAL, cancelAndWait, withTimeout, EBADFD, Future, completed, PDispatcher, ESRCH, EL2NSYNC, EFAULT, low, ESTRPIPE, -=, or, ENOTSOCK, getAsyncTimestamp, SrcLoc, Hour, EIDRM, removeReader2, secs, getThreadDispatcher, futureContinue, ENOANO, EADV, CallbackFunc, ENFILE, FutureBase, waitFor, high, Microsecond, ENOPKG, ELIBBAD, callSoon, EOWNERDEAD, flags, ERANGE, done, ENONET, completed, callSoon, cancelSoon, EMSGSIZE, EALREADY, EBADMSG, EILSEQ, ENOPROTOOPT, EXFULL, allFutures, -, complete, FutureState, EBADR, nanos, location, FutureDefect, EDOTDOT, ENOBUFS, EKEYREJECTED, <, Minute, error, ==, one, CancelledError, nanoseconds, EISDIR, sleepAsync, cancelSoon, FutureSeq, cancelAndWait, micros, all, -, ESRMNT, ENOTEMPTY, race, TimerCallback, microseconds, error, ENOTRECOVERABLE, wait, callIdle, join, value, hours, AsyncError, EBADRQC, ENODEV, FutureStr, addTimer, ECHRNG, ENOTDIR, EUNATCH, cancelAndSchedule, failed, nanoseconds, ERESTART, *, ETXTBSY, getTracker, newFutureStr, EMFILE, LocFinishIndex, withTimeout, addTimer, await, EUSERS, ENOTBLK, EISNAM, ELIBACC, ENAVAIL, init, race, internalCallTick, Day, +, EKEYREVOKED, completed, minutes, cancel, FutureFlags, getGlobalDispatcher, ELIBEXEC, stepsAsync, micros, wait, cancelAndWait, EINPROGRESS, EPFNOSUPPORT, E2BIG, -=, runForever, ENOMEDIUM, secs, value, read, waitFor, EL3HLT, unregisterAndCloseFd, EBADSLT, InternalRaisesFuture, -, <, ENETRESET, fastEpochTime, ENXIO, isZero, EPIPE, allFutures, EPROTO, ENOTTY, wait, now, read, asyncSpawn, removeCallback, EAGAIN, raiseOsDefect, trackerCounterKeys, EADDRNOTAVAIL, read, removeCallback, TrackerCounter, async, addCallback, init, async, ZeroDuration, EREMCHG, finished, addCallback, seconds, noCancel, low, AsyncFD, ECHILD, Raising, init, ECONNABORTED, state, wait, >, callIdle, removeTimer, LocCreateIndex, addReader2, ETIME, ENOLCK, EDEADLK, EOVERFLOW, asyncCheck, Duration, ELNRNG, EDOM, ENOCSI, millis, EBADE, EMEDIUMTYPE, readError, sleepAsync, isInfinite, asyncDiscard, callback=, ENETUNREACH, InternalFutureBase, callIdle, ENOSPC, ENOSYS, ELIBSCN, EIO, EROFS, seconds, ELIBMAX, await, div, init, EL2HLT, EOPNOTSUPP, tryCancel, poll, oneIndex, clearTimer, register2, LocCompleteIndex, days, ENOSTR, EADDRINUSE, one, ENAMETOOLONG, EMULTIHOP, ESTALE, race, ENODATA, EFBIG, +, minutes, ERFKILL, cancelled, $, toException, join, EDEADLOCK, allFutures, MaxEventsCount, wait, read, raiseAsDefect, Millisecond, >, setTimer, unregister2, failed, waitFor, newFutureSeq, addTracker, callback=, orImpl, ECONNREFUSED, high, ENOTNAM, nanos, addWriter2, removeTimer, internalCallTick, EINTR, and, closeHandle, EL3RST, readError, *, newFuture, internalCallTick, []=, EDQUOT, availableSlots, Second, closeSocket, EHOSTUNREACH, EHOSTDOWN, closeWait, ECONNRESET, fail, ECANCELED, EMLINK, milliseconds, FutureBase, <=, +=, $, asyncTimer, internalRaiseIfError, getSrcLocation, FutureError, fromNow, close, weeks, LocFinishIndex, ESPIPE, LocationKind, id, isSet, <=, FutureCompletedError, SomeIntegerI64, fail, EREMOTEIO, EPROTO, waitFor, addTimer, ==, oneValue, internalInitFutureBase, EPROTONOSUPPORT, nanoseconds, cancelAndWait, addTimer, Moment, ECOMM, addFirst, register, EPROTOTYPE, [], AsyncExceptionError, and, FuturePendingError, SrcLoc, ENOCSI, milliseconds, getTrackerCounter, ENOENT, millis, removeTimer, ELIBACC, EADDRNOTAVAIL, ENOTCONN, EBUSY, init, waitFor, days, +=, EXFULL, EAFNOSUPPORT, ZeroDuration, EKEYREVOKED, AsyncTimeoutError, internalCallTick, []=, setThreadDispatcher, EEXIST, isInfinite, ENOLINK, newInternalRaisesFuture, idleAsync, internalRaiseIfError, ESHUTDOWN, ENOMEM, ENOKEY, +, removeWriter2, ENOMSG, [], trackCounter, EKEYEXPIRED, Week, isCounterLeaked, awaitne, $, EWOULDBLOCK, EREMOTE, unregister, tryAcquire, Finished, untrackCounter, AsyncCallback, EHWPOISON, epochSeconds, newDispatcher, EPERM, microseconds, trackerCounters, >=, sleepAsync, addCallback, weeks, EFAULT, callIdle, cancelCallback=, ETOOMANYREFS, mitems, EISCONN, callSoon, ESOCKTNOSUPPORT, newAsyncQueue, setGlobalDispatcher, AsyncQueue, release, EXDEV, EBADF, cancelSoon, micros, microseconds, hours, wait, ENETDOWN, EACCES, AsyncEvent, AsyncEventQueue, ELOOP, InfiniteDuration, ETIMEDOUT, >=, clear, EINVAL, withTimeout, ==, EBADFD, Future, addCallback, len, completed, PDispatcher, ESRCH, EL2NSYNC, Finished, low, newAsyncEvent, ESTRPIPE, -=, contains, getAsyncTimestamp, div, await, Hour, EIDRM, removeReader2, EventQueueReader, secs, getThreadDispatcher, EventQueueKey, futureContinue, popFirstNoWait, join, ENOANO, readError, CallbackFunc, cancelAndWait, $, tryCancel, addLastNoWait, ENOEXEC, waitFor, high, ==, Microsecond, complete, $, pairs, ELIBBAD, callSoon, EOWNERDEAD, oneIndex, ERANGE, done, clearTimer, popLastNoWait, ENONET, completed, callSoon, release, cancelSoon, EMSGSIZE, EBADMSG, EILSEQ, ENOPROTOOPT, ENOTTY, allFutures, empty, -, complete, FutureState, addFirstNoWait, EBADR, nanos, location, FutureDefect, EDOTDOT, ENOBUFS, put, EKEYREJECTED, <, Minute, error, epochNanoSeconds, one, CancelledError, EISDIR, cancelSoon, FutureSeq, cancelAndWait, micros, all, -, ESRMNT, ENOTEMPTY, TimerCallback, TrackerBase, ENOTRECOVERABLE, EBFONT, callIdle, EDOM, cancelAndWait, hours, AsyncError, EBADRQC, ENODEV, ENFILE, ENOPKG, callback=, ECHRNG, wait, EUNATCH, cancelAndSchedule, acquire, failed, nanoseconds, ERESTART, *, ETXTBSY, getTracker, newFutureStr, full, EMFILE, orImpl, withTimeout, addTimer, await, EUSERS, ENOTBLK, race, EISNAM, ENOSR, init, race, EUCLEAN, Day, +, cancelSoon, minutes, cancel, FutureFlags, getGlobalDispatcher, ELIBEXEC, stepsAsync, error, allFinished, wait, clear, EINPROGRESS, completed, E2BIG, -=, runForever, ENOMEDIUM, secs, AsyncQueueEmptyError, value, read, waitFor, EINTR, newAsyncSemaphore, unregisterAndCloseFd, EBADSLT, or, [], -, EALREADY, <, ENETRESET, fastEpochTime, waitEvents, AsyncSemaphore, seconds, isZero, EPIPE, AsyncLockError, InternalFutureBase, getNoWait, allFutures, len, EDESTADDRREQ, ENAVAIL, EPFNOSUPPORT, wait, EMULTIHOP, read, asyncSpawn, removeCallback, EAGAIN, raiseOsDefect, trackerCounterKeys, FutureFlag, read, removeCallback, TrackerCounter, async, AsyncLock, init, popLast, async, ENOSPC, EREMCHG, finished, fire, ENXIO, or, seconds, noCancel, low, AsyncFD, ECHILD, init, ECONNABORTED, state, ENOTDIR, >, callIdle, removeTimer, LocCreateIndex, setTimer, ETIME, InternalRaisesFuture, EBADE, EDEADLK, items, asyncCheck, unregister2, Duration, ELNRNG, locked, join, millis, EMEDIUMTYPE, readError, sleepAsync, value, newFutureSeq, newAsyncEventQueue, asyncDiscard, InternalAsyncCallback, ENETUNREACH, get, ENOSYS, acquire, ELIBSCN, EIO, EROFS, AsyncEventQueueFullError, ELIBMAX, race, ENOLCK, EFBIG, EL2HLT, AsyncQueueFullError, EOPNOTSUPP, emit, FutureStr, poll, readerOverflow, flags, register2, LocCompleteIndex, newAsyncLock, days, ENOSTR, EADDRINUSE, one, AsyncSemaphoreError, size, newFuture, now, putNoWait, Nanosecond, wait, popFirst, ESTALE, Raising, race, ENODATA, init, +, minutes, ERFKILL, cancelled, toException, EDEADLOCK, allFutures, MaxEventsCount, wait, read, raiseAsDefect, Millisecond, addLast, >, addReader2, EOVERFLOW, failed, ENOTUNIQ, addTracker, callback=, ENOTSOCK, ECONNREFUSED, high, ENOTNAM, nanos, addWriter2, toString, removeTimer, internalCallTick, EL3HLT, closeHandle, EL3RST, EADV, *, ENAMETOOLONG, internalCallTick, localAddress2, close, createStreamServer, createStreamServer, start2, StreamCallback2, closeWait, fromPipe, readLine, TransportFlags, ReadMessagePredicate, TransportInitCallback, localAddress, createStreamServer, running, StreamTransportTrackerName, StreamCallback, getUserData, createStreamServer, connect, join, finished, readExactly, start, localAddress, TransportKind, write, write, writeFile, SocketFlags, atEof, createStreamServer, readMessage, shutdownWait, closed, StreamServer, accept, remoteAddress2, createStreamServer, close, readOnce, DefaultBacklogSize, write, createStreamServer, closed, connect, toUnchecked, consume, toException, readUntil, read, createStreamServer, stop2, createStreamServer, consume, failed, createStreamServer, closeWait, join, StreamServerTrackerName, StreamTransport, stop, remoteAddress, fromPipe2, read, ==, DualStackType, checkWriteEof, ==, toHex, getAutoAddress, address, getError, toIpAddress, resolveTAddress, anyAddressFix, TransportAddress, TransportIncompleteError, getAutoAddresses, ==, initTAddress, AddressFamily, ServerStatus, host, $, setDualstack, getTransportOsError, $, $, TransportNoSupport, TransportUseClosedError, TransportUseEofError, ServerFlags, resolveTAddress, TransportAbortedError, ==, initTAddress, $, setDualstack, resolveTAddress, getConnectionAbortedError, toSAddr, TransportError, AnyAddress, resolveTAddress, ==, getDomain, getServerUseClosedError, resolveTAddress, fromSAddr, TransportTooManyError, checkClosed, ServerCommand, getTransportUseClosedError, getTransportError, resolveTAddress, initTAddress, raiseTransportOsError, TransportOsError, getDomain, resolveTAddress, getTransportOsError, resolveTAddress, isAvailable, SocketServer, ==, DefaultDatagramBufferSize, getTransportTooManyError, TransportAddressError, TransportLimitError, DefaultStreamBufferSize, getConnectionAbortedError, raiseTransportError, AnyAddress6, checkClosed, TransportState, initTAddress