chronos/streams/asyncstream

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
  error*: ref AsyncStreamError
  bytesCount* {....deprecated.}: uint64
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]).}
  readN*: proc (rstream: AsyncStreamReader; n: int): Future[seq[byte]] {.
      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 {.pure.} = 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
  bytesCount* {....deprecated.}: uint64
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], forbids: [].}
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], forbids: [].}
Returns true is writing stream wstream closed or finished. Source   Edit  
proc close(rstream: AsyncStreamReader) {....raises: [], gcsafe, tags: [RootEffect],
    forbids: [].}

Close and frees resources of stream rstream.

Note close() procedure is not completed immediately!

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

Close and frees resources of stream wstream.

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.}
Close and frees resources of stream rw. Source   Edit  
proc consume(rstream: AsyncStreamReader): InternalRaisesFuture[int,
    (CancelledError, AsyncStreamError)] {....stackTrace: false, raises: [], gcsafe,
    raises: [], gcsafe, tags: [RootEffect], forbids: [].}
Source   Edit  
proc consume(rstream: AsyncStreamReader; n: int): InternalRaisesFuture[int,
    (CancelledError, AsyncStreamError)] {....stackTrace: false, raises: [], gcsafe,
    raises: [], gcsafe, tags: [RootEffect], forbids: [].}
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, tags: [RootEffect], forbids: [].}
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: [],
                                  forbids: [].}
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: [],
    forbids: [].}
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],
    forbids: [].}
Deprecated: initSimpleVtbl
Initialize newly allocated object child with AsyncStreamReader parameters. Source   Edit  
proc init(child, wsource: AsyncStreamWriter) {....raises: [], gcsafe, tags: [],
    forbids: [].}
Initialize newly allocated object child with AsyncStreamWriter parameters. Source   Edit  
proc init(child, wsource: AsyncStreamWriter; loop: StreamWriterLoop;
          queueSize = AsyncStreamDefaultQueueSize) {.
    ...deprecated: "initSimpleVtbl", raises: [], gcsafe, tags: [RootEffect],
    forbids: [].}
Deprecated: initSimpleVtbl
Initialize newly allocated object child with AsyncStreamWriter parameters. Source   Edit  
proc init(child: AsyncStreamReader; tsource: StreamTransport) {....raises: [],
    gcsafe, tags: [], forbids: [].}
Initialize newly allocated object child with AsyncStreamReader parameters. Source   Edit  
proc init(child: AsyncStreamWriter; tsource: StreamTransport) {....raises: [],
    gcsafe, tags: [], forbids: [].}
Initialize newly allocated object child with AsyncStreamWriter parameters. Source   Edit  
proc init(rstream: AsyncStreamReader; vtbl: AsyncStreamReaderVtbl) {....raises: [],
    gcsafe, tags: [], forbids: [].}
Initialize newly allocated object rstream with AsyncStreamReader parameters. Source   Edit  
proc init(wstream: AsyncStreamWriter; vtbl: AsyncStreamWriterVtbl) {....raises: [],
    gcsafe, tags: [], forbids: [].}
Initialize newly allocated object wstream 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](rw: AsyncStreamRW; udata: ref T) {....raises: [], gcsafe.}
Source   Edit  
proc join(rw: AsyncStreamRW): InternalRaisesFuture[void, (CancelledError,)] {.
    ...stackTrace: false, 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: [], forbids: [].}
Source   Edit  
proc newAsyncStreamLimitError(): ref AsyncStreamLimitError {.noinline,
    ...raises: [], gcsafe, tags: [], forbids: [].}
Source   Edit  
proc newAsyncStreamReader(rsource: AsyncStreamReader): AsyncStreamReader {.
    ...raises: [], gcsafe, tags: [], forbids: [].}
Create copy of AsyncStreamReader object rsource. Source   Edit  
proc newAsyncStreamReader(rsource: AsyncStreamReader; loop: StreamReaderLoop;
                          bufferSize = AsyncStreamDefaultBufferSize): AsyncStreamReader {.
    ...deprecated: "initSimpleVtbl", raises: [], gcsafe, tags: [RootEffect],
    forbids: [].}
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: [], forbids: [].}
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: [], forbids: [].}
Source   Edit  
proc newAsyncStreamWriteEOFError(): ref AsyncStreamWriteEOFError {.noinline,
    ...raises: [], gcsafe, tags: [], forbids: [].}
Source   Edit  
proc newAsyncStreamWriter(tsource: StreamTransport): AsyncStreamWriter {.
    ...raises: [], gcsafe, tags: [], forbids: [].}
Create new AsyncStreamWriter object which will use stream transport tsource as data channel. Source   Edit  
proc newAsyncStreamWriter(wsource: AsyncStreamWriter): AsyncStreamWriter {.
    ...raises: [], gcsafe, tags: [], forbids: [].}
Create copy of AsyncStreamWriter object wsource. Source   Edit  
proc newAsyncStreamWriter(wsource: AsyncStreamWriter; loop: StreamWriterLoop;
                          queueSize = AsyncStreamDefaultQueueSize): AsyncStreamWriter {.
    ...deprecated: "initSimpleVtbl", raises: [], gcsafe, tags: [RootEffect],
    forbids: [].}
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: [],
    forbids: [].}
Source   Edit  
proc raiseAsyncStreamLimitError() {.noinline, noreturn,
                                    ...raises: [AsyncStreamLimitError], raises: [],
                                    gcsafe, tags: [], forbids: [].}
Source   Edit  
proc raiseAsyncStreamUseClosedError() {.noinline, noreturn,
                                        ...raises: [AsyncStreamUseClosedError],
                                        raises: [], gcsafe, tags: [],
                                        forbids: [].}
Source   Edit  
proc raiseAsyncStreamWriteEOFError() {.noinline, noreturn,
                                       ...raises: [AsyncStreamWriteEOFError],
                                       raises: [], gcsafe, tags: [], forbids: [].}
Source   Edit  
proc read(rstream: AsyncStreamReader): InternalRaisesFuture[seq[byte],
    (CancelledError, AsyncStreamError)] {....stackTrace: false, raises: [], gcsafe,
    raises: [], gcsafe, tags: [RootEffect], forbids: [].}
Source   Edit  
proc read(rstream: AsyncStreamReader; n: int): InternalRaisesFuture[seq[byte],
    (CancelledError, AsyncStreamError)] {....stackTrace: false, raises: [], gcsafe,
    raises: [], gcsafe, tags: [RootEffect], forbids: [].}
Source   Edit  
proc readExactly(rstream: AsyncStreamReader; pbytes: pointer; nbytes: int): InternalRaisesFuture[
    void, (CancelledError, AsyncStreamError)] {....stackTrace: false, raises: [],
    gcsafe, raises: [], gcsafe, tags: [RootEffect], forbids: [].}
Source   Edit  
proc readLine(rstream: AsyncStreamReader; limit = 0; sep = "\r\n"): InternalRaisesFuture[
    string, (CancelledError, AsyncStreamError)] {....stackTrace: false, raises: [],
    gcsafe, raises: [], gcsafe, tags: [RootEffect], forbids: [].}
Source   Edit  
proc readMessage(rstream: AsyncStreamReader; pred: ReadMessagePredicate): InternalRaisesFuture[
    void, (CancelledError, AsyncStreamError)] {....stackTrace: false, raises: [],
    gcsafe, raises: [], gcsafe, tags: [RootEffect], forbids: [].}
Source   Edit  
proc readOnce(rstream: AsyncStreamReader; pbytes: pointer; nbytes: int): InternalRaisesFuture[
    int, (CancelledError, AsyncStreamError)] {....stackTrace: false, raises: [],
    gcsafe, raises: [], gcsafe, tags: [RootEffect], forbids: [].}
Source   Edit  
proc readUntil(rstream: AsyncStreamReader; pbytes: pointer; nbytes: int;
               sep: seq[byte]): InternalRaisesFuture[int,
    (CancelledError, AsyncStreamError)] {....stackTrace: false, raises: [], gcsafe,
    raises: [], gcsafe, tags: [RootEffect], forbids: [].}
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, tags: [RootEffect],
                               forbids: [].}
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, tags: [RootEffect], forbids: [].}
Source   Edit  
proc write(wstream: AsyncStreamWriter; sbytes: seq[byte]; msglen = -1): InternalRaisesFuture[
    void, (CancelledError, AsyncStreamError)] {....stackTrace: false, raises: [],
    gcsafe, raises: [], gcsafe, tags: [RootEffect], forbids: [].}

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, tags: [RootEffect], forbids: [].}

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

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