1791 lines
258 KiB
HTML
1791 lines
258 KiB
HTML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<!-- This file is generated by Nim. -->
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<!-- Favicon -->
|
|
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
|
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
|
|
|
<!-- Google fonts -->
|
|
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
|
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
|
|
|
<!-- CSS -->
|
|
<title>chronos/streams/asyncstream</title>
|
|
<link rel="stylesheet" type="text/css" href="../../nimdoc.out.css">
|
|
|
|
<script type="text/javascript" src="../../dochack.js"></script>
|
|
|
|
<script type="text/javascript">
|
|
function main() {
|
|
var pragmaDots = document.getElementsByClassName("pragmadots");
|
|
for (var i = 0; i < pragmaDots.length; i++) {
|
|
pragmaDots[i].onclick = function(event) {
|
|
// Hide tease
|
|
event.target.parentNode.style.display = "none";
|
|
// Show actual
|
|
event.target.parentNode.nextElementSibling.style.display = "inline";
|
|
}
|
|
}
|
|
|
|
function switchTheme(e) {
|
|
if (e.target.checked) {
|
|
document.documentElement.setAttribute('data-theme', 'dark');
|
|
localStorage.setItem('theme', 'dark');
|
|
} else {
|
|
document.documentElement.setAttribute('data-theme', 'light');
|
|
localStorage.setItem('theme', 'light');
|
|
}
|
|
}
|
|
|
|
const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]');
|
|
if (toggleSwitch !== null) {
|
|
toggleSwitch.addEventListener('change', switchTheme, false);
|
|
}
|
|
|
|
var currentTheme = localStorage.getItem('theme');
|
|
if (!currentTheme && window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
|
currentTheme = 'dark';
|
|
}
|
|
if (currentTheme) {
|
|
document.documentElement.setAttribute('data-theme', currentTheme);
|
|
|
|
if (currentTheme === 'dark' && toggleSwitch !== null) {
|
|
toggleSwitch.checked = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
window.addEventListener('DOMContentLoaded', main);
|
|
</script>
|
|
|
|
</head>
|
|
<body>
|
|
<div class="document" id="documentId">
|
|
<div class="container">
|
|
<h1 class="title">chronos/streams/asyncstream</h1>
|
|
<div class="row">
|
|
<div class="three columns">
|
|
<div class="theme-switch-wrapper">
|
|
<label class="theme-switch" for="checkbox">
|
|
<input type="checkbox" id="checkbox" />
|
|
<div class="slider round"></div>
|
|
</label>
|
|
<em>Dark Mode</em>
|
|
</div>
|
|
<div id="global-links">
|
|
<ul class="simple">
|
|
<li>
|
|
<a href="../../theindex.html">Index</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="searchInputDiv">
|
|
Search: <input type="text" id="searchInput"
|
|
onkeyup="search()" />
|
|
</div>
|
|
<div>
|
|
Group by:
|
|
<select onchange="groupBy(this.value)">
|
|
<option value="section">Section</option>
|
|
<option value="type">Type</option>
|
|
</select>
|
|
</div>
|
|
<ul class="simple simple-toc" id="toc-list">
|
|
<li>
|
|
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
|
<ul class="simple simple-toc-section">
|
|
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a class="reference reference-toplevel" href="#7" id="57">Types</a>
|
|
<ul class="simple simple-toc-section">
|
|
<li><a class="reference" href="#AsyncBuffer"
|
|
title="AsyncBuffer = object
|
|
backend*: BipBuffer
|
|
events*: array[2, AsyncEvent]">AsyncBuffer</a></li>
|
|
<li><a class="reference" href="#AsyncBufferRef"
|
|
title="AsyncBufferRef = ref AsyncBuffer">AsyncBufferRef</a></li>
|
|
<li><a class="reference" href="#AsyncStream"
|
|
title="AsyncStream = object of RootObj
|
|
reader*: AsyncStreamReader
|
|
writer*: AsyncStreamWriter">AsyncStream</a></li>
|
|
<li><a class="reference" href="#AsyncStreamError"
|
|
title="AsyncStreamError = object of AsyncError">AsyncStreamError</a></li>
|
|
<li><a class="reference" href="#AsyncStreamIncompleteError"
|
|
title="AsyncStreamIncompleteError = object of AsyncStreamError">AsyncStreamIncompleteError</a></li>
|
|
<li><a class="reference" href="#AsyncStreamIncorrectDefect"
|
|
title="AsyncStreamIncorrectDefect = object of Defect">AsyncStreamIncorrectDefect</a></li>
|
|
<li><a class="reference" href="#AsyncStreamLimitError"
|
|
title="AsyncStreamLimitError = object of AsyncStreamError">AsyncStreamLimitError</a></li>
|
|
<li><a class="reference" href="#AsyncStreamReader"
|
|
title="AsyncStreamReader = ref object of RootRef
|
|
rsource*: AsyncStreamReader
|
|
tsource*: StreamTransport
|
|
readerLoop*: StreamReaderLoop
|
|
state*: AsyncStreamState
|
|
buffer*: AsyncBufferRef
|
|
udata: pointer
|
|
error*: ref AsyncStreamError
|
|
bytesCount*: uint64
|
|
future: Future[void].Raising([])">AsyncStreamReader</a></li>
|
|
<li><a class="reference" href="#AsyncStreamReadError"
|
|
title="AsyncStreamReadError = object of AsyncStreamError">AsyncStreamReadError</a></li>
|
|
<li><a class="reference" href="#AsyncStreamRW"
|
|
title="AsyncStreamRW = AsyncStreamReader | AsyncStreamWriter">AsyncStreamRW</a></li>
|
|
<li><a class="reference" href="#AsyncStreamState"
|
|
title="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">AsyncStreamState</a></li>
|
|
<li><a class="reference" href="#AsyncStreamUseClosedError"
|
|
title="AsyncStreamUseClosedError = object of AsyncStreamError">AsyncStreamUseClosedError</a></li>
|
|
<li><a class="reference" href="#AsyncStreamWriteEOFError"
|
|
title="AsyncStreamWriteEOFError = object of AsyncStreamWriteError">AsyncStreamWriteEOFError</a></li>
|
|
<li><a class="reference" href="#AsyncStreamWriteError"
|
|
title="AsyncStreamWriteError = object of AsyncStreamError">AsyncStreamWriteError</a></li>
|
|
<li><a class="reference" href="#AsyncStreamWriter"
|
|
title="AsyncStreamWriter = ref object of RootRef
|
|
wsource*: AsyncStreamWriter
|
|
tsource*: StreamTransport
|
|
writerLoop*: StreamWriterLoop
|
|
state*: AsyncStreamState
|
|
queue*: AsyncQueue[WriteItem]
|
|
error*: ref AsyncStreamError
|
|
udata: pointer
|
|
bytesCount*: uint64
|
|
future: Future[void].Raising([])">AsyncStreamWriter</a></li>
|
|
<li><a class="reference" href="#StreamReaderLoop"
|
|
title="StreamReaderLoop = proc (stream: AsyncStreamReader): Future[void] {.
|
|
async: (raises: []).}">StreamReaderLoop</a></li>
|
|
<li><a class="reference" href="#StreamWriterLoop"
|
|
title="StreamWriterLoop = proc (stream: AsyncStreamWriter): Future[void] {.
|
|
async: (raises: []).}">StreamWriterLoop</a></li>
|
|
<li><a class="reference" href="#WriteItem"
|
|
title="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])">WriteItem</a></li>
|
|
<li><a class="reference" href="#WriteType"
|
|
title="WriteType = enum
|
|
Pointer, Sequence, String">WriteType</a></li>
|
|
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a class="reference reference-toplevel" href="#10" id="60">Consts</a>
|
|
<ul class="simple simple-toc-section">
|
|
<li><a class="reference" href="#AsyncStreamDefaultBufferSize"
|
|
title="AsyncStreamDefaultBufferSize = 16384">AsyncStreamDefaultBufferSize</a></li>
|
|
<li><a class="reference" href="#AsyncStreamDefaultQueueSize"
|
|
title="AsyncStreamDefaultQueueSize = 0">AsyncStreamDefaultQueueSize</a></li>
|
|
<li><a class="reference" href="#AsyncStreamReaderTrackerName"
|
|
title="AsyncStreamReaderTrackerName = "async.stream.reader"">AsyncStreamReaderTrackerName</a></li>
|
|
<li><a class="reference" href="#AsyncStreamWriterTrackerName"
|
|
title="AsyncStreamWriterTrackerName = "async.stream.writer"">AsyncStreamWriterTrackerName</a></li>
|
|
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a class="reference reference-toplevel" href="#12" id="62">Procs</a>
|
|
<ul class="simple simple-toc-section">
|
|
<ul class="simple nested-toc-section">atEof
|
|
<li><a class="reference" href="#atEof%2CAsyncStreamReader"
|
|
title="atEof(rstream: AsyncStreamReader): bool">atEof(rstream: AsyncStreamReader): bool</a></li>
|
|
<li><a class="reference" href="#atEof%2CAsyncStreamWriter"
|
|
title="atEof(wstream: AsyncStreamWriter): bool">atEof(wstream: AsyncStreamWriter): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">close
|
|
<li><a class="reference" href="#close%2CAsyncStreamRW"
|
|
title="close(rw: AsyncStreamRW)">close(rw: AsyncStreamRW)</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">closed
|
|
<li><a class="reference" href="#closed%2CAsyncStreamRW"
|
|
title="closed(rw: AsyncStreamRW): bool">closed(rw: AsyncStreamRW): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">closeWait
|
|
<li><a class="reference" href="#closeWait%2CAsyncStreamRW"
|
|
title="closeWait(rw: AsyncStreamRW): InternalRaisesFuture[void, void]">closeWait(rw: AsyncStreamRW): InternalRaisesFuture[void, void]</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">consume
|
|
<li><a class="reference" href="#consume%2CAsyncStreamReader"
|
|
title="consume(rstream: AsyncStreamReader): InternalRaisesFuture[int,
|
|
(CancelledError, AsyncStreamError)]">consume(rstream: AsyncStreamReader): InternalRaisesFuture[int,
|
|
(CancelledError, AsyncStreamError)]</a></li>
|
|
<li><a class="reference" href="#consume%2CAsyncStreamReader%2Cint"
|
|
title="consume(rstream: AsyncStreamReader; n: int): InternalRaisesFuture[int,
|
|
(CancelledError, AsyncStreamError)]">consume(rstream: AsyncStreamReader; n: int): InternalRaisesFuture[int,
|
|
(CancelledError, AsyncStreamError)]</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">failed
|
|
<li><a class="reference" href="#failed%2CAsyncStreamRW"
|
|
title="failed(rw: AsyncStreamRW): bool">failed(rw: AsyncStreamRW): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">finish
|
|
<li><a class="reference" href="#finish%2CAsyncStreamWriter"
|
|
title="finish(wstream: AsyncStreamWriter): InternalRaisesFuture[void,
|
|
(CancelledError, AsyncStreamError)]">finish(wstream: AsyncStreamWriter): InternalRaisesFuture[void,
|
|
(CancelledError, AsyncStreamError)]</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">finished
|
|
<li><a class="reference" href="#finished%2CAsyncStreamRW"
|
|
title="finished(rw: AsyncStreamRW): bool">finished(rw: AsyncStreamRW): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">forget
|
|
<li><a class="reference" href="#forget%2CAsyncBufferRef"
|
|
title="forget(sb: AsyncBufferRef)">forget(sb: AsyncBufferRef)</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">getUserData
|
|
<li><a class="reference" href="#getUserData%2CAsyncStreamRW"
|
|
title="getUserData[T](rw: AsyncStreamRW): T">getUserData[T](rw: AsyncStreamRW): T</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">init
|
|
<li><a class="reference" href="#init%2CAsyncStreamReader%2CAsyncStreamReader"
|
|
title="init(child, rsource: AsyncStreamReader)">init(child, rsource: AsyncStreamReader)</a></li>
|
|
<li><a class="reference" href="#init%2CAsyncStreamReader%2CAsyncStreamReader%2CStreamReaderLoop"
|
|
title="init(child, rsource: AsyncStreamReader; loop: StreamReaderLoop;
|
|
bufferSize = AsyncStreamDefaultBufferSize)">init(child, rsource: AsyncStreamReader; loop: StreamReaderLoop;
|
|
bufferSize = AsyncStreamDefaultBufferSize)</a></li>
|
|
<li><a class="reference" href="#init%2CAsyncStreamWriter%2CAsyncStreamWriter"
|
|
title="init(child, wsource: AsyncStreamWriter)">init(child, wsource: AsyncStreamWriter)</a></li>
|
|
<li><a class="reference" href="#init%2CAsyncStreamWriter%2CAsyncStreamWriter%2CStreamWriterLoop"
|
|
title="init(child, wsource: AsyncStreamWriter; loop: StreamWriterLoop;
|
|
queueSize = AsyncStreamDefaultQueueSize)">init(child, wsource: AsyncStreamWriter; loop: StreamWriterLoop;
|
|
queueSize = AsyncStreamDefaultQueueSize)</a></li>
|
|
<li><a class="reference" href="#init%2CAsyncStreamReader%2CStreamTransport"
|
|
title="init(child: AsyncStreamReader; tsource: StreamTransport)">init(child: AsyncStreamReader; tsource: StreamTransport)</a></li>
|
|
<li><a class="reference" href="#init%2CAsyncStreamWriter%2CStreamTransport"
|
|
title="init(child: AsyncStreamWriter; tsource: StreamTransport)">init(child: AsyncStreamWriter; tsource: StreamTransport)</a></li>
|
|
<li><a class="reference" href="#init%2CAsyncStreamReader%2CAsyncStreamReader%2CStreamReaderLoop%2Cref.T"
|
|
title="init[T](child, rsource: AsyncStreamReader; loop: StreamReaderLoop;
|
|
bufferSize = AsyncStreamDefaultBufferSize; udata: ref T)">init[T](child, rsource: AsyncStreamReader; loop: StreamReaderLoop;
|
|
bufferSize = AsyncStreamDefaultBufferSize; udata: ref T)</a></li>
|
|
<li><a class="reference" href="#init%2CAsyncStreamReader%2CAsyncStreamReader%2Cref.T"
|
|
title="init[T](child, rsource: AsyncStreamReader; udata: ref T)">init[T](child, rsource: AsyncStreamReader; udata: ref T)</a></li>
|
|
<li><a class="reference" href="#init%2CAsyncStreamWriter%2CAsyncStreamWriter%2CStreamWriterLoop%2Cref.T"
|
|
title="init[T](child, wsource: AsyncStreamWriter; loop: StreamWriterLoop;
|
|
queueSize = AsyncStreamDefaultQueueSize; udata: ref T)">init[T](child, wsource: AsyncStreamWriter; loop: StreamWriterLoop;
|
|
queueSize = AsyncStreamDefaultQueueSize; udata: ref T)</a></li>
|
|
<li><a class="reference" href="#init%2CAsyncStreamWriter%2CAsyncStreamWriter%2Cref.T"
|
|
title="init[T](child, wsource: AsyncStreamWriter; udata: ref T)">init[T](child, wsource: AsyncStreamWriter; udata: ref T)</a></li>
|
|
<li><a class="reference" href="#init%2CAsyncStreamReader%2CStreamTransport%2Cref.T"
|
|
title="init[T](child: AsyncStreamReader; tsource: StreamTransport; udata: ref T)">init[T](child: AsyncStreamReader; tsource: StreamTransport; udata: ref T)</a></li>
|
|
<li><a class="reference" href="#init%2CAsyncStreamWriter%2CStreamTransport%2Cref.T"
|
|
title="init[T](child: AsyncStreamWriter; tsource: StreamTransport; udata: ref T)">init[T](child: AsyncStreamWriter; tsource: StreamTransport; udata: ref T)</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">join
|
|
<li><a class="reference" href="#join%2CAsyncStreamRW"
|
|
title="join(rw: AsyncStreamRW): InternalRaisesFuture[void, (CancelledError,)]">join(rw: AsyncStreamRW): InternalRaisesFuture[void, (CancelledError,)]</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">new
|
|
<li><a class="reference" href="#new%2Ctypedesc%5BAsyncBufferRef%5D%2Cint"
|
|
title="new(t: typedesc[AsyncBufferRef]; size: int): AsyncBufferRef">new(t: typedesc[AsyncBufferRef]; size: int): AsyncBufferRef</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">newAsyncStreamIncompleteError
|
|
<li><a class="reference" href="#newAsyncStreamIncompleteError"
|
|
title="newAsyncStreamIncompleteError(): ref AsyncStreamIncompleteError">newAsyncStreamIncompleteError(): ref AsyncStreamIncompleteError</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">newAsyncStreamLimitError
|
|
<li><a class="reference" href="#newAsyncStreamLimitError"
|
|
title="newAsyncStreamLimitError(): ref AsyncStreamLimitError">newAsyncStreamLimitError(): ref AsyncStreamLimitError</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">newAsyncStreamReader
|
|
<li><a class="reference" href="#newAsyncStreamReader%2CAsyncStreamReader"
|
|
title="newAsyncStreamReader(rsource: AsyncStreamReader): AsyncStreamReader">newAsyncStreamReader(rsource: AsyncStreamReader): AsyncStreamReader</a></li>
|
|
<li><a class="reference" href="#newAsyncStreamReader%2CAsyncStreamReader%2CStreamReaderLoop"
|
|
title="newAsyncStreamReader(rsource: AsyncStreamReader; loop: StreamReaderLoop;
|
|
bufferSize = AsyncStreamDefaultBufferSize): AsyncStreamReader">newAsyncStreamReader(rsource: AsyncStreamReader; loop: StreamReaderLoop;
|
|
bufferSize = AsyncStreamDefaultBufferSize): AsyncStreamReader</a></li>
|
|
<li><a class="reference" href="#newAsyncStreamReader%2CStreamTransport"
|
|
title="newAsyncStreamReader(tsource: StreamTransport): AsyncStreamReader">newAsyncStreamReader(tsource: StreamTransport): AsyncStreamReader</a></li>
|
|
<li><a class="reference" href="#newAsyncStreamReader%2CAsyncStreamReader%2CStreamReaderLoop%2Cref.T"
|
|
title="newAsyncStreamReader[T](rsource: AsyncStreamReader; loop: StreamReaderLoop;
|
|
bufferSize = AsyncStreamDefaultBufferSize; udata: ref T): AsyncStreamReader">newAsyncStreamReader[T](rsource: AsyncStreamReader; loop: StreamReaderLoop;
|
|
bufferSize = AsyncStreamDefaultBufferSize; udata: ref T): AsyncStreamReader</a></li>
|
|
<li><a class="reference" href="#newAsyncStreamReader%2CAsyncStreamReader%2Cref.T"
|
|
title="newAsyncStreamReader[T](rsource: AsyncStreamReader; udata: ref T): AsyncStreamReader">newAsyncStreamReader[T](rsource: AsyncStreamReader; udata: ref T): AsyncStreamReader</a></li>
|
|
<li><a class="reference" href="#newAsyncStreamReader%2CStreamTransport%2Cref.T"
|
|
title="newAsyncStreamReader[T](tsource: StreamTransport; udata: ref T): AsyncStreamReader">newAsyncStreamReader[T](tsource: StreamTransport; udata: ref T): AsyncStreamReader</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">newAsyncStreamUseClosedError
|
|
<li><a class="reference" href="#newAsyncStreamUseClosedError"
|
|
title="newAsyncStreamUseClosedError(): ref AsyncStreamUseClosedError">newAsyncStreamUseClosedError(): ref AsyncStreamUseClosedError</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">newAsyncStreamWriter
|
|
<li><a class="reference" href="#newAsyncStreamWriter%2CStreamTransport"
|
|
title="newAsyncStreamWriter(tsource: StreamTransport): AsyncStreamWriter">newAsyncStreamWriter(tsource: StreamTransport): AsyncStreamWriter</a></li>
|
|
<li><a class="reference" href="#newAsyncStreamWriter%2CAsyncStreamWriter"
|
|
title="newAsyncStreamWriter(wsource: AsyncStreamWriter): AsyncStreamWriter">newAsyncStreamWriter(wsource: AsyncStreamWriter): AsyncStreamWriter</a></li>
|
|
<li><a class="reference" href="#newAsyncStreamWriter%2CAsyncStreamWriter%2CStreamWriterLoop"
|
|
title="newAsyncStreamWriter(wsource: AsyncStreamWriter; loop: StreamWriterLoop;
|
|
queueSize = AsyncStreamDefaultQueueSize): AsyncStreamWriter">newAsyncStreamWriter(wsource: AsyncStreamWriter; loop: StreamWriterLoop;
|
|
queueSize = AsyncStreamDefaultQueueSize): AsyncStreamWriter</a></li>
|
|
<li><a class="reference" href="#newAsyncStreamWriter%2CStreamTransport%2Cref.T"
|
|
title="newAsyncStreamWriter[T](tsource: StreamTransport; udata: ref T): AsyncStreamWriter">newAsyncStreamWriter[T](tsource: StreamTransport; udata: ref T): AsyncStreamWriter</a></li>
|
|
<li><a class="reference" href="#newAsyncStreamWriter%2CAsyncStreamWriter%2CStreamWriterLoop%2Cref.T"
|
|
title="newAsyncStreamWriter[T](wsource: AsyncStreamWriter; loop: StreamWriterLoop;
|
|
queueSize = AsyncStreamDefaultQueueSize; udata: ref T): AsyncStreamWriter">newAsyncStreamWriter[T](wsource: AsyncStreamWriter; loop: StreamWriterLoop;
|
|
queueSize = AsyncStreamDefaultQueueSize; udata: ref T): AsyncStreamWriter</a></li>
|
|
<li><a class="reference" href="#newAsyncStreamWriter%2CAsyncStreamWriter%2Cref.T"
|
|
title="newAsyncStreamWriter[T](wsource: AsyncStreamWriter; udata: ref T): AsyncStreamWriter">newAsyncStreamWriter[T](wsource: AsyncStreamWriter; udata: ref T): AsyncStreamWriter</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">raiseAsyncStreamIncompleteError
|
|
<li><a class="reference" href="#raiseAsyncStreamIncompleteError"
|
|
title="raiseAsyncStreamIncompleteError()">raiseAsyncStreamIncompleteError()</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">raiseAsyncStreamLimitError
|
|
<li><a class="reference" href="#raiseAsyncStreamLimitError"
|
|
title="raiseAsyncStreamLimitError()">raiseAsyncStreamLimitError()</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">raiseAsyncStreamUseClosedError
|
|
<li><a class="reference" href="#raiseAsyncStreamUseClosedError"
|
|
title="raiseAsyncStreamUseClosedError()">raiseAsyncStreamUseClosedError()</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">raiseAsyncStreamWriteEOFError
|
|
<li><a class="reference" href="#raiseAsyncStreamWriteEOFError"
|
|
title="raiseAsyncStreamWriteEOFError()">raiseAsyncStreamWriteEOFError()</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">raiseEmptyMessageDefect
|
|
<li><a class="reference" href="#raiseEmptyMessageDefect"
|
|
title="raiseEmptyMessageDefect()">raiseEmptyMessageDefect()</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">read
|
|
<li><a class="reference" href="#read%2CAsyncStreamReader"
|
|
title="read(rstream: AsyncStreamReader): InternalRaisesFuture[seq[byte],
|
|
(CancelledError, AsyncStreamError)]">read(rstream: AsyncStreamReader): InternalRaisesFuture[seq[byte],
|
|
(CancelledError, AsyncStreamError)]</a></li>
|
|
<li><a class="reference" href="#read%2CAsyncStreamReader%2Cint"
|
|
title="read(rstream: AsyncStreamReader; n: int): InternalRaisesFuture[seq[byte],
|
|
(CancelledError, AsyncStreamError)]">read(rstream: AsyncStreamReader; n: int): InternalRaisesFuture[seq[byte],
|
|
(CancelledError, AsyncStreamError)]</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">readExactly
|
|
<li><a class="reference" href="#readExactly%2CAsyncStreamReader%2Cpointer%2Cint"
|
|
title="readExactly(rstream: AsyncStreamReader; pbytes: pointer; nbytes: int): InternalRaisesFuture[
|
|
void, (CancelledError, AsyncStreamError)]">readExactly(rstream: AsyncStreamReader; pbytes: pointer; nbytes: int): InternalRaisesFuture[
|
|
void, (CancelledError, AsyncStreamError)]</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">readLine
|
|
<li><a class="reference" href="#readLine%2CAsyncStreamReader%2Cint%2Cstring"
|
|
title="readLine(rstream: AsyncStreamReader; limit = 0; sep = "\r\n"): InternalRaisesFuture[
|
|
string, (CancelledError, AsyncStreamError)]">readLine(rstream: AsyncStreamReader; limit = 0; sep = "\r\n"): InternalRaisesFuture[
|
|
string, (CancelledError, AsyncStreamError)]</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">readMessage
|
|
<li><a class="reference" href="#readMessage%2CAsyncStreamReader%2CReadMessagePredicate"
|
|
title="readMessage(rstream: AsyncStreamReader; pred: ReadMessagePredicate): InternalRaisesFuture[
|
|
void, (CancelledError, AsyncStreamError)]">readMessage(rstream: AsyncStreamReader; pred: ReadMessagePredicate): InternalRaisesFuture[
|
|
void, (CancelledError, AsyncStreamError)]</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">readOnce
|
|
<li><a class="reference" href="#readOnce%2CAsyncStreamReader%2Cpointer%2Cint"
|
|
title="readOnce(rstream: AsyncStreamReader; pbytes: pointer; nbytes: int): InternalRaisesFuture[
|
|
int, (CancelledError, AsyncStreamError)]">readOnce(rstream: AsyncStreamReader; pbytes: pointer; nbytes: int): InternalRaisesFuture[
|
|
int, (CancelledError, AsyncStreamError)]</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">readUntil
|
|
<li><a class="reference" href="#readUntil%2CAsyncStreamReader%2Cpointer%2Cint%2Cseq%5Bbyte%5D"
|
|
title="readUntil(rstream: AsyncStreamReader; pbytes: pointer; nbytes: int;
|
|
sep: seq[byte]): InternalRaisesFuture[int,
|
|
(CancelledError, AsyncStreamError)]">readUntil(rstream: AsyncStreamReader; pbytes: pointer; nbytes: int;
|
|
sep: seq[byte]): InternalRaisesFuture[int,
|
|
(CancelledError, AsyncStreamError)]</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">running
|
|
<li><a class="reference" href="#running%2CAsyncStreamRW"
|
|
title="running(rw: AsyncStreamRW): bool">running(rw: AsyncStreamRW): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">stopped
|
|
<li><a class="reference" href="#stopped%2CAsyncStreamRW"
|
|
title="stopped(rw: AsyncStreamRW): bool">stopped(rw: AsyncStreamRW): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">upload
|
|
<li><a class="reference" href="#upload%2CAsyncBufferRef%2Cptr.byte%2Cint"
|
|
title="upload(sb: AsyncBufferRef; pbytes: ptr byte; nbytes: int): InternalRaisesFuture[
|
|
void, (CancelledError,)]">upload(sb: AsyncBufferRef; pbytes: ptr byte; nbytes: int): InternalRaisesFuture[
|
|
void, (CancelledError,)]</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">write
|
|
<li><a class="reference" href="#write%2CAsyncStreamWriter%2Cpointer%2Cint"
|
|
title="write(wstream: AsyncStreamWriter; pbytes: pointer; nbytes: int): InternalRaisesFuture[
|
|
void, (CancelledError, AsyncStreamError)]">write(wstream: AsyncStreamWriter; pbytes: pointer; nbytes: int): InternalRaisesFuture[
|
|
void, (CancelledError, AsyncStreamError)]</a></li>
|
|
<li><a class="reference" href="#write%2CAsyncStreamWriter%2Cseq%5Bbyte%5D%2Cint"
|
|
title="write(wstream: AsyncStreamWriter; sbytes: seq[byte]; msglen = -1): InternalRaisesFuture[
|
|
void, (CancelledError, AsyncStreamError)]">write(wstream: AsyncStreamWriter; sbytes: seq[byte]; msglen = -1): InternalRaisesFuture[
|
|
void, (CancelledError, AsyncStreamError)]</a></li>
|
|
<li><a class="reference" href="#write%2CAsyncStreamWriter%2Cstring%2Cint"
|
|
title="write(wstream: AsyncStreamWriter; sbytes: string; msglen = -1): InternalRaisesFuture[
|
|
void, (CancelledError, AsyncStreamError)]">write(wstream: AsyncStreamWriter; sbytes: string; msglen = -1): InternalRaisesFuture[
|
|
void, (CancelledError, AsyncStreamError)]</a></li>
|
|
|
|
</ul>
|
|
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a class="reference reference-toplevel" href="#18" id="68">Templates</a>
|
|
<ul class="simple simple-toc-section">
|
|
<ul class="simple nested-toc-section">checkStreamClosed
|
|
<li><a class="reference" href="#checkStreamClosed.t%2Cuntyped"
|
|
title="checkStreamClosed(t: untyped)">checkStreamClosed(t: untyped)</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">checkStreamFinished
|
|
<li><a class="reference" href="#checkStreamFinished.t%2Cuntyped"
|
|
title="checkStreamFinished(t: untyped)">checkStreamFinished(t: untyped)</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">copyOut
|
|
<li><a class="reference" href="#copyOut.t%2Cpointer%2CWriteItem%2Cint"
|
|
title="copyOut(dest: pointer; item: WriteItem; length: int)">copyOut(dest: pointer; item: WriteItem; length: int)</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">transfer
|
|
<li><a class="reference" href="#transfer.t%2CAsyncBufferRef"
|
|
title="transfer(sb: AsyncBufferRef): untyped">transfer(sb: AsyncBufferRef): untyped</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">wait
|
|
<li><a class="reference" href="#wait.t%2CAsyncBufferRef"
|
|
title="wait(sb: AsyncBufferRef): untyped">wait(sb: AsyncBufferRef): untyped</a></li>
|
|
|
|
</ul>
|
|
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a class="reference reference-toplevel" href="#19" id="69">Exports</a>
|
|
<ul class="simple simple-toc-section">
|
|
|
|
</ul>
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
<div class="nine columns" id="content">
|
|
<div id="tocRoot"></div>
|
|
|
|
<p class="module-desc"></p>
|
|
<div class="section" id="6">
|
|
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
|
<dl class="item">
|
|
<a class="reference external" href="../config.html">../config</a>, <a class="reference external" href="../asyncloop.html">../asyncloop</a>, <a class="reference external" href="../asyncsync.html">../asyncsync</a>, <a class="reference external" href="../bipbuffer.html">../bipbuffer</a>, <a class="reference external" href="../transports/common.html">../transports/common</a>, <a class="reference external" href="../transports/stream.html">../transports/stream</a>
|
|
</dl></div>
|
|
<div class="section" id="7">
|
|
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
|
<dl class="item">
|
|
<div id="AsyncBuffer">
|
|
<dt><pre><a href="asyncstream.html#AsyncBuffer"><span class="Identifier">AsyncBuffer</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
|
<span class="Identifier">backend</span><span class="Operator">*</span><span class="Other">:</span> <a href="../bipbuffer.html#BipBuffer"><span class="Identifier">BipBuffer</span></a>
|
|
<span class="Identifier">events</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="DecNumber">2</span><span class="Other">,</span> <a href="../asyncsync.html#AsyncEvent"><span class="Identifier">AsyncEvent</span></a><span class="Other">]</span>
|
|
</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L36"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L36" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncBufferRef">
|
|
<dt><pre><a href="asyncstream.html#AsyncBufferRef"><span class="Identifier">AsyncBufferRef</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <a href="asyncstream.html#AsyncBuffer"><span class="Identifier">AsyncBuffer</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L40"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L40" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStream">
|
|
<dt><pre><a href="asyncstream.html#AsyncStream"><span class="Identifier">AsyncStream</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <span class="Identifier">RootObj</span>
|
|
<span class="Identifier">reader</span><span class="Operator">*</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a>
|
|
<span class="Identifier">writer</span><span class="Operator">*</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a>
|
|
</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L94"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L94" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamError">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <a href="../internal/errors.html#AsyncError"><span class="Identifier">AsyncError</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L27"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L27" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamIncompleteError">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamIncompleteError"><span class="Identifier">AsyncStreamIncompleteError</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L29"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L29" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamIncorrectDefect">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamIncorrectDefect"><span class="Identifier">AsyncStreamIncorrectDefect</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <span class="Identifier">Defect</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L28"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L28" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamLimitError">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamLimitError"><span class="Identifier">AsyncStreamLimitError</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L30"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L30" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamReader">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <span class="Identifier">RootRef</span>
|
|
<span class="Identifier">rsource</span><span class="Operator">*</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a>
|
|
<span class="Identifier">tsource</span><span class="Operator">*</span><span class="Other">:</span> <a href="../transports/stream.html#StreamTransport"><span class="Identifier">StreamTransport</span></a>
|
|
<span class="Identifier">readerLoop</span><span class="Operator">*</span><span class="Other">:</span> <a href="asyncstream.html#StreamReaderLoop"><span class="Identifier">StreamReaderLoop</span></a>
|
|
<span class="Identifier">state</span><span class="Operator">*</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamState"><span class="Identifier">AsyncStreamState</span></a>
|
|
<span class="Identifier">buffer</span><span class="Operator">*</span><span class="Other">:</span> <a href="asyncstream.html#AsyncBufferRef"><span class="Identifier">AsyncBufferRef</span></a>
|
|
<span class="Identifier">udata</span><span class="Other">:</span> <span class="Identifier">pointer</span>
|
|
<span class="Identifier">error</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ref</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a>
|
|
<span class="Identifier">bytesCount</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">uint64</span>
|
|
<span class="Identifier">future</span><span class="Other">:</span> <a href="../futures.html#Future"><span class="Identifier">Future</span></a><span class="Other">[</span><span class="Identifier">void</span><span class="Other">]</span><span class="Other">.</span><span class="Identifier">Raising</span><span class="Other">(</span><span class="Other">[</span><span class="Other">]</span><span class="Other">)</span>
|
|
</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L72"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L72" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamReadError">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamReadError"><span class="Identifier">AsyncStreamReadError</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L32"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L32" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamRW">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamRW"><span class="Identifier">AsyncStreamRW</span></a> <span class="Other">=</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a> <span class="Operator">|</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L98"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L98" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamState">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamState"><span class="Identifier">AsyncStreamState</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
|
<span class="Identifier">Running</span><span class="Other">,</span> <span class="Comment">## Stream is online and working</span>
|
|
<span class="Identifier">Error</span><span class="Other">,</span> <span class="Comment">## Stream has stored error</span>
|
|
<span class="Identifier">Stopped</span><span class="Other">,</span> <span class="Comment">## Stream was closed while working</span>
|
|
<span class="Identifier">Finished</span><span class="Other">,</span> <span class="Comment">## Stream was properly finished</span>
|
|
<span class="Identifier">Closing</span><span class="Other">,</span> <span class="Comment">## Stream is closing</span>
|
|
<span class="Identifier">Closed</span> <span class="Comment">## Stream was closed</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L57"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L57" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamUseClosedError">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamUseClosedError"><span class="Identifier">AsyncStreamUseClosedError</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L31"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L31" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamWriteEOFError">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamWriteEOFError"><span class="Identifier">AsyncStreamWriteEOFError</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <a href="asyncstream.html#AsyncStreamWriteError"><span class="Identifier">AsyncStreamWriteError</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L34"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L34" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamWriteError">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamWriteError"><span class="Identifier">AsyncStreamWriteError</span></a> <span class="Other">=</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L33"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L33" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamWriter">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <span class="Keyword">object</span> <span class="Keyword">of</span> <span class="Identifier">RootRef</span>
|
|
<span class="Identifier">wsource</span><span class="Operator">*</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a>
|
|
<span class="Identifier">tsource</span><span class="Operator">*</span><span class="Other">:</span> <a href="../transports/stream.html#StreamTransport"><span class="Identifier">StreamTransport</span></a>
|
|
<span class="Identifier">writerLoop</span><span class="Operator">*</span><span class="Other">:</span> <a href="asyncstream.html#StreamWriterLoop"><span class="Identifier">StreamWriterLoop</span></a>
|
|
<span class="Identifier">state</span><span class="Operator">*</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamState"><span class="Identifier">AsyncStreamState</span></a>
|
|
<span class="Identifier">queue</span><span class="Operator">*</span><span class="Other">:</span> <a href="../asyncsync.html#AsyncQueue"><span class="Identifier">AsyncQueue</span></a><span class="Other">[</span><a href="asyncstream.html#WriteItem"><span class="Identifier">WriteItem</span></a><span class="Other">]</span>
|
|
<span class="Identifier">error</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ref</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a>
|
|
<span class="Identifier">udata</span><span class="Other">:</span> <span class="Identifier">pointer</span>
|
|
<span class="Identifier">bytesCount</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">uint64</span>
|
|
<span class="Identifier">future</span><span class="Other">:</span> <a href="../futures.html#Future"><span class="Identifier">Future</span></a><span class="Other">[</span><span class="Identifier">void</span><span class="Other">]</span><span class="Other">.</span><span class="Identifier">Raising</span><span class="Other">(</span><span class="Other">[</span><span class="Other">]</span><span class="Other">)</span>
|
|
</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L83"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L83" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="StreamReaderLoop">
|
|
<dt><pre><a href="asyncstream.html#StreamReaderLoop"><span class="Identifier">StreamReaderLoop</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">stream</span><span class="Other">:</span> <span class="Identifier">AsyncStreamReader</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Future</span><span class="Other">[</span><span class="Identifier">void</span><span class="Other">]</span> {.
|
|
<span class="Identifier">async</span><span class="Other">:</span> <span class="Other">(</span><span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">)</span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Main read loop for read streams.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L65"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L65" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="StreamWriterLoop">
|
|
<dt><pre><a href="asyncstream.html#StreamWriterLoop"><span class="Identifier">StreamWriterLoop</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">stream</span><span class="Other">:</span> <span class="Identifier">AsyncStreamWriter</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Future</span><span class="Other">[</span><span class="Identifier">void</span><span class="Other">]</span> {.
|
|
<span class="Identifier">async</span><span class="Other">:</span> <span class="Other">(</span><span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">)</span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Main write loop for write streams.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L68"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L68" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="WriteItem">
|
|
<dt><pre><a href="asyncstream.html#WriteItem"><span class="Identifier">WriteItem</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
|
|
<span class="Keyword">case</span> <span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="asyncstream.html#WriteType"><span class="Identifier">WriteType</span></a>
|
|
<span class="Keyword">of</span> <span class="Identifier">Pointer</span><span class="Other">:</span>
|
|
<span class="Identifier">dataPtr</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">pointer</span>
|
|
|
|
<span class="Keyword">of</span> <span class="Identifier">Sequence</span><span class="Other">:</span>
|
|
<span class="Identifier">dataSeq</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">byte</span><span class="Other">]</span>
|
|
|
|
<span class="Keyword">of</span> <span class="Identifier">String</span><span class="Other">:</span>
|
|
<span class="Identifier">dataStr</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
|
|
|
|
<span class="Identifier">size</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
|
<span class="Identifier">offset</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
|
|
<span class="Identifier">future</span><span class="Operator">*</span><span class="Other">:</span> <a href="../futures.html#Future"><span class="Identifier">Future</span></a><span class="Other">[</span><span class="Identifier">void</span><span class="Other">]</span><span class="Other">.</span><span class="Identifier">Raising</span><span class="Other">(</span><span class="Other">[</span><span class="Identifier">CancelledError</span><span class="Other">,</span> <span class="Identifier">AsyncStreamError</span><span class="Other">]</span><span class="Other">)</span>
|
|
</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L45"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L45" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="WriteType">
|
|
<dt><pre><a href="asyncstream.html#WriteType"><span class="Identifier">WriteType</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
|
<span class="Identifier">Pointer</span><span class="Other">,</span> <span class="Identifier">Sequence</span><span class="Other">,</span> <span class="Identifier">String</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L42"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L42" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</dl></div>
|
|
<div class="section" id="10">
|
|
<h1><a class="toc-backref" href="#10">Consts</a></h1>
|
|
<dl class="item">
|
|
<div id="AsyncStreamDefaultBufferSize">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamDefaultBufferSize"><span class="Identifier">AsyncStreamDefaultBufferSize</span></a> <span class="Other">=</span> <span class="DecNumber">16384</span></pre></dt>
|
|
<dd>
|
|
|
|
Default reading stream internal buffer size.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L17"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L17" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamDefaultQueueSize">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamDefaultQueueSize"><span class="Identifier">AsyncStreamDefaultQueueSize</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
|
|
<dd>
|
|
|
|
Default writing stream internal queue size.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L19"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L19" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamReaderTrackerName">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamReaderTrackerName"><span class="Identifier">AsyncStreamReaderTrackerName</span></a> <span class="Other">=</span> <span class="StringLit">"async.stream.reader"</span></pre></dt>
|
|
<dd>
|
|
|
|
AsyncStreamReader leaks tracker name
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L21"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L21" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="AsyncStreamWriterTrackerName">
|
|
<dt><pre><a href="asyncstream.html#AsyncStreamWriterTrackerName"><span class="Identifier">AsyncStreamWriterTrackerName</span></a> <span class="Other">=</span> <span class="StringLit">"async.stream.writer"</span></pre></dt>
|
|
<dd>
|
|
|
|
AsyncStreamWriter leaks tracker name
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L23"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L23" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</dl></div>
|
|
<div class="section" id="12">
|
|
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
|
<dl class="item">
|
|
<div id="atEof,AsyncStreamReader">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#atEof%2CAsyncStreamReader"><span class="Identifier">atEof</span></a><span class="Other">(</span><span class="Identifier">rstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Returns <tt class="docutils literal"><span class="pre">true</span></tt> is reading stream is closed or finished and internal buffer do not have any bytes left.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L203"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L203" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="atEof,AsyncStreamWriter">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#atEof%2CAsyncStreamWriter"><span class="Identifier">atEof</span></a><span class="Other">(</span><span class="Identifier">wstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Returns <tt class="docutils literal"><span class="pre">true</span></tt> is writing stream <tt class="docutils literal"><span class="pre">wstream</span></tt> closed or finished.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L215"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L215" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="close,AsyncStreamRW">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#close%2CAsyncStreamRW"><span class="Identifier">close</span></a><span class="Other">(</span><span class="Identifier">rw</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamRW"><span class="Identifier">AsyncStreamRW</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Close and frees resources of stream <tt class="docutils literal"><span class="pre">rw</span></tt>.</p>
|
|
<p>Note close() procedure is not completed immediately!</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L841"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L841" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="closed,AsyncStreamRW">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#closed%2CAsyncStreamRW"><span class="Identifier">closed</span></a><span class="Other">(</span><span class="Identifier">rw</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamRW"><span class="Identifier">AsyncStreamRW</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Returns <tt class="docutils literal"><span class="pre">true</span></tt> is reading/writing stream is closed.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L230"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L230" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="closeWait,AsyncStreamRW">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#closeWait%2CAsyncStreamRW"><span class="Identifier">closeWait</span></a><span class="Other">(</span><span class="Identifier">rw</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamRW"><span class="Identifier">AsyncStreamRW</span></a><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span><span class="Identifier">void</span><span class="Other">,</span> <span class="Identifier">void</span><span class="Other">]</span> {.
|
|
<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Close and frees resources of stream <tt class="docutils literal"><span class="pre">rw</span></tt>.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L878"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L878" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="consume,AsyncStreamReader">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#consume%2CAsyncStreamReader"><span class="Identifier">consume</span></a><span class="Other">(</span><span class="Identifier">rstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span><span class="Identifier">int</span><span class="Other">,</span>
|
|
<span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a><span class="Other">)</span><span class="Other">]</span> {.<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span>
|
|
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Consume (discard) all bytes from read-only stream <tt class="docutils literal"><span class="pre">rstream</span></tt>.</p>
|
|
<p>Return number of bytes actually consumed (discarded).</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L593"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L593" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="consume,AsyncStreamReader,int">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#consume%2CAsyncStreamReader%2Cint"><span class="Identifier">consume</span></a><span class="Other">(</span><span class="Identifier">rstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span><span class="Identifier">int</span><span class="Other">,</span>
|
|
<span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a><span class="Other">)</span><span class="Other">]</span> {.<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span>
|
|
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Consume (discard) all bytes (n <= 0) or <tt class="docutils literal"><span class="pre">n</span></tt> bytes from read-only stream <tt class="docutils literal"><span class="pre">rstream</span></tt>.</p>
|
|
<p>Return number of bytes actually consumed (discarded).</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L623"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L623" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="failed,AsyncStreamRW">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#failed%2CAsyncStreamRW"><span class="Identifier">failed</span></a><span class="Other">(</span><span class="Identifier">rw</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamRW"><span class="Identifier">AsyncStreamRW</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Returns <tt class="docutils literal"><span class="pre">true</span></tt> if reading/writing stream is in failed state.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L275"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L275" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="finish,AsyncStreamWriter">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#finish%2CAsyncStreamWriter"><span class="Identifier">finish</span></a><span class="Other">(</span><span class="Identifier">wstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span><span class="Identifier">void</span><span class="Other">,</span>
|
|
<span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a><span class="Other">)</span><span class="Other">]</span> {.<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span>
|
|
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Finish write stream <tt class="docutils literal"><span class="pre">wstream</span></tt>.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L818"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L818" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="finished,AsyncStreamRW">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#finished%2CAsyncStreamRW"><span class="Identifier">finished</span></a><span class="Other">(</span><span class="Identifier">rw</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamRW"><span class="Identifier">AsyncStreamRW</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Returns <tt class="docutils literal"><span class="pre">true</span></tt> if reading/writing stream is finished (completed).
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L234"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L234" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="forget,AsyncBufferRef">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#forget%2CAsyncBufferRef"><span class="Identifier">forget</span></a><span class="Other">(</span><span class="Identifier">sb</span><span class="Other">:</span> <a href="asyncstream.html#AsyncBufferRef"><span class="Identifier">AsyncBufferRef</span></a><span class="Other">)</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L116"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L116" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="getUserData,AsyncStreamRW">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#getUserData%2CAsyncStreamRW"><span class="Identifier">getUserData</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">rw</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamRW"><span class="Identifier">AsyncStreamRW</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">T</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Obtain user data associated with AsyncStreamReader or AsyncStreamWriter object <tt class="docutils literal"><span class="pre">rw</span></tt>.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1166"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1166" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="init,AsyncStreamReader,AsyncStreamReader">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#init%2CAsyncStreamReader%2CAsyncStreamReader"><span class="Identifier">init</span></a><span class="Other">(</span><span class="Identifier">child</span><span class="Other">,</span> <span class="Identifier">rsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Initialize newly allocated object <tt class="docutils literal"><span class="pre">child</span></tt> with AsyncStreamReader parameters.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1015"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1015" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="init,AsyncStreamReader,AsyncStreamReader,StreamReaderLoop">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#init%2CAsyncStreamReader%2CAsyncStreamReader%2CStreamReaderLoop"><span class="Identifier">init</span></a><span class="Other">(</span><span class="Identifier">child</span><span class="Other">,</span> <span class="Identifier">rsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">loop</span><span class="Other">:</span> <a href="asyncstream.html#StreamReaderLoop"><span class="Identifier">StreamReaderLoop</span></a><span class="Other">;</span>
|
|
<span class="Identifier">bufferSize</span> <span class="Other">=</span> <span class="Identifier">AsyncStreamDefaultBufferSize</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Initialize newly allocated object <tt class="docutils literal"><span class="pre">child</span></tt> with AsyncStreamReader parameters.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L925"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L925" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="init,AsyncStreamWriter,AsyncStreamWriter">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#init%2CAsyncStreamWriter%2CAsyncStreamWriter"><span class="Identifier">init</span></a><span class="Other">(</span><span class="Identifier">child</span><span class="Other">,</span> <span class="Identifier">wsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Initialize newly allocated object <tt class="docutils literal"><span class="pre">child</span></tt> with AsyncStreamWriter parameters.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L972"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L972" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="init,AsyncStreamWriter,AsyncStreamWriter,StreamWriterLoop">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#init%2CAsyncStreamWriter%2CAsyncStreamWriter%2CStreamWriterLoop"><span class="Identifier">init</span></a><span class="Other">(</span><span class="Identifier">child</span><span class="Other">,</span> <span class="Identifier">wsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">;</span> <span class="Identifier">loop</span><span class="Other">:</span> <a href="asyncstream.html#StreamWriterLoop"><span class="Identifier">StreamWriterLoop</span></a><span class="Other">;</span>
|
|
<span class="Identifier">queueSize</span> <span class="Other">=</span> <span class="Identifier">AsyncStreamDefaultQueueSize</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Initialize newly allocated object <tt class="docutils literal"><span class="pre">child</span></tt> with AsyncStreamWriter parameters.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L900"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L900" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="init,AsyncStreamReader,StreamTransport">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#init%2CAsyncStreamReader%2CStreamTransport"><span class="Identifier">init</span></a><span class="Other">(</span><span class="Identifier">child</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">tsource</span><span class="Other">:</span> <a href="../transports/stream.html#StreamTransport"><span class="Identifier">StreamTransport</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Initialize newly allocated object <tt class="docutils literal"><span class="pre">child</span></tt> with AsyncStreamReader parameters.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L993"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L993" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="init,AsyncStreamWriter,StreamTransport">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#init%2CAsyncStreamWriter%2CStreamTransport"><span class="Identifier">init</span></a><span class="Other">(</span><span class="Identifier">child</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">;</span> <span class="Identifier">tsource</span><span class="Other">:</span> <a href="../transports/stream.html#StreamTransport"><span class="Identifier">StreamTransport</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Initialize newly allocated object <tt class="docutils literal"><span class="pre">child</span></tt> with AsyncStreamWriter parameters.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L953"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L953" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="init,AsyncStreamReader,AsyncStreamReader,StreamReaderLoop,ref.T">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#init%2CAsyncStreamReader%2CAsyncStreamReader%2CStreamReaderLoop%2Cref.T"><span class="Identifier">init</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">child</span><span class="Other">,</span> <span class="Identifier">rsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">loop</span><span class="Other">:</span> <a href="asyncstream.html#StreamReaderLoop"><span class="Identifier">StreamReaderLoop</span></a><span class="Other">;</span>
|
|
<span class="Identifier">bufferSize</span> <span class="Other">=</span> <span class="Identifier">AsyncStreamDefaultBufferSize</span><span class="Other">;</span> <span class="Identifier">udata</span><span class="Other">:</span> <span class="Keyword">ref</span> <span class="Identifier">T</span><span class="Other">)</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Initialize newly allocated object <tt class="docutils literal"><span class="pre">child</span></tt> with AsyncStreamReader parameters.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L937"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L937" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="init,AsyncStreamReader,AsyncStreamReader,ref.T">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#init%2CAsyncStreamReader%2CAsyncStreamReader%2Cref.T"><span class="Identifier">init</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">child</span><span class="Other">,</span> <span class="Identifier">rsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">udata</span><span class="Other">:</span> <span class="Keyword">ref</span> <span class="Identifier">T</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Initialize newly allocated object <tt class="docutils literal"><span class="pre">child</span></tt> with AsyncStreamReader parameters.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1024"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1024" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="init,AsyncStreamWriter,AsyncStreamWriter,StreamWriterLoop,ref.T">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#init%2CAsyncStreamWriter%2CAsyncStreamWriter%2CStreamWriterLoop%2Cref.T"><span class="Identifier">init</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">child</span><span class="Other">,</span> <span class="Identifier">wsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">;</span> <span class="Identifier">loop</span><span class="Other">:</span> <a href="asyncstream.html#StreamWriterLoop"><span class="Identifier">StreamWriterLoop</span></a><span class="Other">;</span>
|
|
<span class="Identifier">queueSize</span> <span class="Other">=</span> <span class="Identifier">AsyncStreamDefaultQueueSize</span><span class="Other">;</span> <span class="Identifier">udata</span><span class="Other">:</span> <span class="Keyword">ref</span> <span class="Identifier">T</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Initialize newly allocated object <tt class="docutils literal"><span class="pre">child</span></tt> with AsyncStreamWriter parameters.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L911"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L911" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="init,AsyncStreamWriter,AsyncStreamWriter,ref.T">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#init%2CAsyncStreamWriter%2CAsyncStreamWriter%2Cref.T"><span class="Identifier">init</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">child</span><span class="Other">,</span> <span class="Identifier">wsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">;</span> <span class="Identifier">udata</span><span class="Other">:</span> <span class="Keyword">ref</span> <span class="Identifier">T</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Initialize newly allocated object <tt class="docutils literal"><span class="pre">child</span></tt> with AsyncStreamWriter parameters.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L981"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L981" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="init,AsyncStreamReader,StreamTransport,ref.T">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#init%2CAsyncStreamReader%2CStreamTransport%2Cref.T"><span class="Identifier">init</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">child</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">tsource</span><span class="Other">:</span> <a href="../transports/stream.html#StreamTransport"><span class="Identifier">StreamTransport</span></a><span class="Other">;</span> <span class="Identifier">udata</span><span class="Other">:</span> <span class="Keyword">ref</span> <span class="Identifier">T</span><span class="Other">)</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Initialize newly allocated object <tt class="docutils literal"><span class="pre">child</span></tt> with AsyncStreamReader parameters.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1002"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1002" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="init,AsyncStreamWriter,StreamTransport,ref.T">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#init%2CAsyncStreamWriter%2CStreamTransport%2Cref.T"><span class="Identifier">init</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">child</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">;</span> <span class="Identifier">tsource</span><span class="Other">:</span> <a href="../transports/stream.html#StreamTransport"><span class="Identifier">StreamTransport</span></a><span class="Other">;</span> <span class="Identifier">udata</span><span class="Other">:</span> <span class="Keyword">ref</span> <span class="Identifier">T</span><span class="Other">)</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Initialize newly allocated object <tt class="docutils literal"><span class="pre">child</span></tt> with AsyncStreamWriter parameters.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L962"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L962" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="join,AsyncStreamRW">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#join%2CAsyncStreamRW"><span class="Identifier">join</span></a><span class="Other">(</span><span class="Identifier">rw</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamRW"><span class="Identifier">AsyncStreamRW</span></a><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span><span class="Identifier">void</span><span class="Other">,</span> <span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span><span class="Other">)</span><span class="Other">]</span> {.
|
|
<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L836"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L836" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="new,typedesc[AsyncBufferRef],int">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#new%2Ctypedesc%5BAsyncBufferRef%5D%2Cint"><span class="Identifier">new</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">typedesc</span><span class="Other">[</span><a href="asyncstream.html#AsyncBufferRef"><span class="Identifier">AsyncBufferRef</span></a><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <a href="asyncstream.html#AsyncBufferRef"><span class="Identifier">AsyncBufferRef</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L100"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L100" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamIncompleteError">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamIncompleteError"><span class="Identifier">newAsyncStreamIncompleteError</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ref</span> <a href="asyncstream.html#AsyncStreamIncompleteError"><span class="Identifier">AsyncStreamIncompleteError</span></a> {.<span class="Identifier">noinline</span><span class="Other">,</span>
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L171"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L171" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamLimitError">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamLimitError"><span class="Identifier">newAsyncStreamLimitError</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ref</span> <a href="asyncstream.html#AsyncStreamLimitError"><span class="Identifier">AsyncStreamLimitError</span></a> {.<span class="Identifier">noinline</span><span class="Other">,</span>
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L175"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L175" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamReader,AsyncStreamReader">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamReader%2CAsyncStreamReader"><span class="Identifier">newAsyncStreamReader</span></a><span class="Other">(</span><span class="Identifier">rsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">)</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Create copy of AsyncStreamReader object <tt class="docutils literal"><span class="pre">rsource</span></tt>.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1095"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1095" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamReader,AsyncStreamReader,StreamReaderLoop">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamReader%2CAsyncStreamReader%2CStreamReaderLoop"><span class="Identifier">newAsyncStreamReader</span></a><span class="Other">(</span><span class="Identifier">rsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">loop</span><span class="Other">:</span> <a href="asyncstream.html#StreamReaderLoop"><span class="Identifier">StreamReaderLoop</span></a><span class="Other">;</span>
|
|
<span class="Identifier">bufferSize</span> <span class="Other">=</span> <span class="Identifier">AsyncStreamDefaultBufferSize</span><span class="Other">)</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Create new AsyncStreamReader object, which will use other async stream reader <tt class="docutils literal"><span class="pre">rsource</span></tt> as source data channel.</p>
|
|
<p><tt class="docutils literal"><span class="pre">loop</span></tt> is main reading loop procedure.</p>
|
|
<p><tt class="docutils literal"><span class="pre">bufferSize</span></tt> is internal buffer size.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1053"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1053" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamReader,StreamTransport">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamReader%2CStreamTransport"><span class="Identifier">newAsyncStreamReader</span></a><span class="Other">(</span><span class="Identifier">tsource</span><span class="Other">:</span> <a href="../transports/stream.html#StreamTransport"><span class="Identifier">StreamTransport</span></a><span class="Other">)</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Create new AsyncStreamReader object, which will use stream transport <tt class="docutils literal"><span class="pre">tsource</span></tt> as source data channel.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1078"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1078" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamReader,AsyncStreamReader,StreamReaderLoop,ref.T">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamReader%2CAsyncStreamReader%2CStreamReaderLoop%2Cref.T"><span class="Identifier">newAsyncStreamReader</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">rsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">loop</span><span class="Other">:</span> <a href="asyncstream.html#StreamReaderLoop"><span class="Identifier">StreamReaderLoop</span></a><span class="Other">;</span>
|
|
<span class="Identifier">bufferSize</span> <span class="Other">=</span> <span class="Identifier">AsyncStreamDefaultBufferSize</span><span class="Other">;</span>
|
|
<span class="Identifier">udata</span><span class="Other">:</span> <span class="Keyword">ref</span> <span class="Identifier">T</span><span class="Other">)</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Create new AsyncStreamReader object, which will use other async stream reader <tt class="docutils literal"><span class="pre">rsource</span></tt> as source data channel.</p>
|
|
<p><tt class="docutils literal"><span class="pre">loop</span></tt> is main reading loop procedure.</p>
|
|
<p><tt class="docutils literal"><span class="pre">bufferSize</span></tt> is internal buffer size.</p>
|
|
<p><tt class="docutils literal"><span class="pre">udata</span></tt> - user object which will be associated with new AsyncStreamReader object.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1036"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1036" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamReader,AsyncStreamReader,ref.T">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamReader%2CAsyncStreamReader%2Cref.T"><span class="Identifier">newAsyncStreamReader</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">rsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">udata</span><span class="Other">:</span> <span class="Keyword">ref</span> <span class="Identifier">T</span><span class="Other">)</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Create copy of AsyncStreamReader object <tt class="docutils literal"><span class="pre">rsource</span></tt>.</p>
|
|
<p><tt class="docutils literal"><span class="pre">udata</span></tt> - user object which will be associated with new AsyncStreamReader object.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1085"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1085" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamReader,StreamTransport,ref.T">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamReader%2CStreamTransport%2Cref.T"><span class="Identifier">newAsyncStreamReader</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">tsource</span><span class="Other">:</span> <a href="../transports/stream.html#StreamTransport"><span class="Identifier">StreamTransport</span></a><span class="Other">;</span> <span class="Identifier">udata</span><span class="Other">:</span> <span class="Keyword">ref</span> <span class="Identifier">T</span><span class="Other">)</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Create new AsyncStreamReader object, which will use stream transport <tt class="docutils literal"><span class="pre">tsource</span></tt> as source data channel.</p>
|
|
<p><tt class="docutils literal"><span class="pre">udata</span></tt> - user object which will be associated with new AsyncStreamWriter object.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1067"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1067" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamUseClosedError">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamUseClosedError"><span class="Identifier">newAsyncStreamUseClosedError</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ref</span> <a href="asyncstream.html#AsyncStreamUseClosedError"><span class="Identifier">AsyncStreamUseClosedError</span></a> {.<span class="Identifier">noinline</span><span class="Other">,</span>
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L178"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L178" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamWriter,StreamTransport">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamWriter%2CStreamTransport"><span class="Identifier">newAsyncStreamWriter</span></a><span class="Other">(</span><span class="Identifier">tsource</span><span class="Other">:</span> <a href="../transports/stream.html#StreamTransport"><span class="Identifier">StreamTransport</span></a><span class="Other">)</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Create new AsyncStreamWriter object which will use stream transport <tt class="docutils literal"><span class="pre">tsource</span></tt> as data channel.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1143"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1143" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamWriter,AsyncStreamWriter">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamWriter%2CAsyncStreamWriter"><span class="Identifier">newAsyncStreamWriter</span></a><span class="Other">(</span><span class="Identifier">wsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">)</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Create copy of AsyncStreamWriter object <tt class="docutils literal"><span class="pre">wsource</span></tt>.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1160"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1160" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamWriter,AsyncStreamWriter,StreamWriterLoop">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamWriter%2CAsyncStreamWriter%2CStreamWriterLoop"><span class="Identifier">newAsyncStreamWriter</span></a><span class="Other">(</span><span class="Identifier">wsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">;</span> <span class="Identifier">loop</span><span class="Other">:</span> <a href="asyncstream.html#StreamWriterLoop"><span class="Identifier">StreamWriterLoop</span></a><span class="Other">;</span>
|
|
<span class="Identifier">queueSize</span> <span class="Other">=</span> <span class="Identifier">AsyncStreamDefaultQueueSize</span><span class="Other">)</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Create new AsyncStreamWriter object which will use other AsyncStreamWriter object <tt class="docutils literal"><span class="pre">wsource</span></tt> as data channel.</p>
|
|
<p><tt class="docutils literal"><span class="pre">loop</span></tt> is main writing loop procedure.</p>
|
|
<p><tt class="docutils literal"><span class="pre">queueSize</span></tt> is writing queue size (default size is unlimited).</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1118"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1118" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamWriter,StreamTransport,ref.T">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamWriter%2CStreamTransport%2Cref.T"><span class="Identifier">newAsyncStreamWriter</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">tsource</span><span class="Other">:</span> <a href="../transports/stream.html#StreamTransport"><span class="Identifier">StreamTransport</span></a><span class="Other">;</span> <span class="Identifier">udata</span><span class="Other">:</span> <span class="Keyword">ref</span> <span class="Identifier">T</span><span class="Other">)</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Create new AsyncStreamWriter object which will use stream transport <tt class="docutils literal"><span class="pre">tsource</span></tt> as data channel.</p>
|
|
<p><tt class="docutils literal"><span class="pre">udata</span></tt> - user object which will be associated with new AsyncStreamWriter object.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1132"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1132" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamWriter,AsyncStreamWriter,StreamWriterLoop,ref.T">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamWriter%2CAsyncStreamWriter%2CStreamWriterLoop%2Cref.T"><span class="Identifier">newAsyncStreamWriter</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">wsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">;</span> <span class="Identifier">loop</span><span class="Other">:</span> <a href="asyncstream.html#StreamWriterLoop"><span class="Identifier">StreamWriterLoop</span></a><span class="Other">;</span>
|
|
<span class="Identifier">queueSize</span> <span class="Other">=</span> <span class="Identifier">AsyncStreamDefaultQueueSize</span><span class="Other">;</span>
|
|
<span class="Identifier">udata</span><span class="Other">:</span> <span class="Keyword">ref</span> <span class="Identifier">T</span><span class="Other">)</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Create new AsyncStreamWriter object which will use other AsyncStreamWriter object <tt class="docutils literal"><span class="pre">wsource</span></tt> as data channel.</p>
|
|
<p><tt class="docutils literal"><span class="pre">loop</span></tt> is main writing loop procedure.</p>
|
|
<p><tt class="docutils literal"><span class="pre">queueSize</span></tt> is writing queue size (default size is unlimited).</p>
|
|
<p><tt class="docutils literal"><span class="pre">udata</span></tt> - user object which will be associated with new AsyncStreamWriter object.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1101"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1101" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="newAsyncStreamWriter,AsyncStreamWriter,ref.T">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#newAsyncStreamWriter%2CAsyncStreamWriter%2Cref.T"><span class="Identifier">newAsyncStreamWriter</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">wsource</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">;</span> <span class="Identifier">udata</span><span class="Other">:</span> <span class="Keyword">ref</span> <span class="Identifier">T</span><span class="Other">)</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Create copy of AsyncStreamWriter object <tt class="docutils literal"><span class="pre">wsource</span></tt>.</p>
|
|
<p><tt class="docutils literal"><span class="pre">udata</span></tt> - user object which will be associated with new AsyncStreamWriter object.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L1150"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L1150" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="raiseAsyncStreamIncompleteError">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#raiseAsyncStreamIncompleteError"><span class="Identifier">raiseAsyncStreamIncompleteError</span></a><span class="Other">(</span><span class="Other">)</span> {.<span class="Identifier">noinline</span><span class="Other">,</span> <span class="Identifier">noreturn</span><span class="Other">,</span>
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><a href="asyncstream.html#AsyncStreamIncompleteError"><span class="Identifier">AsyncStreamIncompleteError</span></a><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L190"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L190" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="raiseAsyncStreamLimitError">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#raiseAsyncStreamLimitError"><span class="Identifier">raiseAsyncStreamLimitError</span></a><span class="Other">(</span><span class="Other">)</span> {.<span class="Identifier">noinline</span><span class="Other">,</span> <span class="Identifier">noreturn</span><span class="Other">,</span>
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><a href="asyncstream.html#AsyncStreamLimitError"><span class="Identifier">AsyncStreamLimitError</span></a><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L186"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L186" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="raiseAsyncStreamUseClosedError">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#raiseAsyncStreamUseClosedError"><span class="Identifier">raiseAsyncStreamUseClosedError</span></a><span class="Other">(</span><span class="Other">)</span> {.<span class="Identifier">noinline</span><span class="Other">,</span> <span class="Identifier">noreturn</span><span class="Other">,</span>
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><a href="asyncstream.html#AsyncStreamUseClosedError"><span class="Identifier">AsyncStreamUseClosedError</span></a><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L182"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L182" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="raiseAsyncStreamWriteEOFError">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#raiseAsyncStreamWriteEOFError"><span class="Identifier">raiseAsyncStreamWriteEOFError</span></a><span class="Other">(</span><span class="Other">)</span> {.<span class="Identifier">noinline</span><span class="Other">,</span> <span class="Identifier">noreturn</span><span class="Other">,</span>
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><a href="asyncstream.html#AsyncStreamWriteEOFError"><span class="Identifier">AsyncStreamWriteEOFError</span></a><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L198"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L198" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="raiseEmptyMessageDefect">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#raiseEmptyMessageDefect"><span class="Identifier">raiseEmptyMessageDefect</span></a><span class="Other">(</span><span class="Other">)</span> {.<span class="Identifier">noinline</span><span class="Other">,</span> <span class="Identifier">noreturn</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L194"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L194" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="read,AsyncStreamReader">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#read%2CAsyncStreamReader"><span class="Identifier">read</span></a><span class="Other">(</span><span class="Identifier">rstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span><span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">byte</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a><span class="Other">)</span><span class="Other">]</span> {.<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span>
|
|
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Read all bytes from read-only stream <tt class="docutils literal"><span class="pre">rstream</span></tt>.</p>
|
|
<p>This procedure allocates buffer seq[byte] and return it as result.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L526"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L526" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="read,AsyncStreamReader,int">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#read%2CAsyncStreamReader%2Cint"><span class="Identifier">read</span></a><span class="Other">(</span><span class="Identifier">rstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span><span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">byte</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a><span class="Other">)</span><span class="Other">]</span> {.<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span>
|
|
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Read all bytes (n <= 0) or exactly <tt class="docutils literal"><span class="pre"><span class="Identifier">n</span></span></tt> bytes from read-only stream <tt class="docutils literal"><span class="pre">rstream</span></tt>.</p>
|
|
<p>This procedure allocates buffer seq[byte] and return it as result.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L558"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L558" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="readExactly,AsyncStreamReader,pointer,int">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#readExactly%2CAsyncStreamReader%2Cpointer%2Cint"><span class="Identifier">readExactly</span></a><span class="Other">(</span><span class="Identifier">rstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">pbytes</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">nbytes</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span>
|
|
<span class="Identifier">void</span><span class="Other">,</span> <span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a><span class="Other">)</span><span class="Other">]</span> {.<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Read exactly <tt class="docutils literal"><span class="pre">nbytes</span></tt> bytes from read-only stream <tt class="docutils literal"><span class="pre">rstream</span></tt> and store it to <tt class="docutils literal"><span class="pre">pbytes</span></tt>.</p>
|
|
<p>If EOF is received and <tt class="docutils literal"><span class="pre">nbytes</span></tt> is not yet read, the procedure will raise <tt class="docutils literal"><span class="pre">AsyncStreamIncompleteError</span></tt>.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L316"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L316" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="readLine,AsyncStreamReader,int,string">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#readLine%2CAsyncStreamReader%2Cint%2Cstring"><span class="Identifier">readLine</span></a><span class="Other">(</span><span class="Identifier">rstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">limit</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span> <span class="Identifier">sep</span> <span class="Other">=</span> <span class="StringLit">"\r\n"</span><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span>
|
|
<span class="Identifier">string</span><span class="Other">,</span> <span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a><span class="Other">)</span><span class="Other">]</span> {.<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Read one line from read-only stream <tt class="docutils literal"><span class="pre">rstream</span></tt>, where <tt class="docutils literal"><span class="pre">"line"</span></tt> is a sequence of bytes ending with <tt class="docutils literal"><span class="pre">sep</span></tt> (default is <tt class="docutils literal"><span class="pre">"\r\n"</span></tt>).</p>
|
|
<p>If EOF is received, and <tt class="docutils literal"><span class="pre">sep</span></tt> was not found, the method will return the partial read bytes.</p>
|
|
<p>If the EOF was received and the internal buffer is empty, return an empty string.</p>
|
|
<p>If <tt class="docutils literal"><span class="pre">limit</span></tt> more then 0, then result string will be limited to <tt class="docutils literal"><span class="pre">limit</span></tt> bytes.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L467"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L467" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="readMessage,AsyncStreamReader,ReadMessagePredicate">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#readMessage%2CAsyncStreamReader%2CReadMessagePredicate"><span class="Identifier">readMessage</span></a><span class="Other">(</span><span class="Identifier">rstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">pred</span><span class="Other">:</span> <a href="../transports/stream.html#ReadMessagePredicate"><span class="Identifier">ReadMessagePredicate</span></a><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span>
|
|
<span class="Identifier">void</span><span class="Other">,</span> <span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a><span class="Other">)</span><span class="Other">]</span> {.<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Read all bytes from stream <tt class="docutils literal"><span class="pre">rstream</span></tt> until <tt class="docutils literal"><span class="pre">predicate</span></tt> callback will not be satisfied.</p>
|
|
<p><tt class="docutils literal"><span class="pre">predicate</span></tt> callback should return tuple <tt class="docutils literal"><span class="pre">(consumed, result)</span></tt>, where <tt class="docutils literal"><span class="pre">consumed</span></tt> is the number of bytes processed and <tt class="docutils literal"><span class="pre">result</span></tt> is a completion flag (<tt class="docutils literal"><span class="pre">true</span></tt> if readMessage() should stop reading data, or <tt class="docutils literal"><span class="pre">false</span></tt> if readMessage() should continue to read data from stream).</p>
|
|
<p><tt class="docutils literal"><span class="pre">predicate</span></tt> callback must copy all the data from <tt class="docutils literal"><span class="pre">data</span></tt> array and return number of bytes it is going to consume. <tt class="docutils literal"><span class="pre">predicate</span></tt> callback will receive (zero-length) openArray, if stream is at EOF.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L656"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L656" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="readOnce,AsyncStreamReader,pointer,int">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#readOnce%2CAsyncStreamReader%2Cpointer%2Cint"><span class="Identifier">readOnce</span></a><span class="Other">(</span><span class="Identifier">rstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">pbytes</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">nbytes</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span>
|
|
<span class="Identifier">int</span><span class="Other">,</span> <span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a><span class="Other">)</span><span class="Other">]</span> {.<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Perform one read operation on read-only stream <tt class="docutils literal"><span class="pre">rstream</span></tt>.</p>
|
|
<p>If internal buffer is not empty, <tt class="docutils literal"><span class="pre">nbytes</span></tt> bytes will be transferred from internal buffer, otherwise it will wait until some bytes will be available.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L363"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L363" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="readUntil,AsyncStreamReader,pointer,int,seq[byte]">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#readUntil%2CAsyncStreamReader%2Cpointer%2Cint%2Cseq%5Bbyte%5D"><span class="Identifier">readUntil</span></a><span class="Other">(</span><span class="Identifier">rstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamReader"><span class="Identifier">AsyncStreamReader</span></a><span class="Other">;</span> <span class="Identifier">pbytes</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">nbytes</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">;</span>
|
|
<span class="Identifier">sep</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">byte</span><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span><span class="Identifier">int</span><span class="Other">,</span>
|
|
<span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a><span class="Other">)</span><span class="Other">]</span> {.<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span>
|
|
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Read data from the read-only stream <tt class="docutils literal"><span class="pre">rstream</span></tt> until separator <tt class="docutils literal"><span class="pre">sep</span></tt> is found.</p>
|
|
<p>On success, the data and separator will be removed from the internal buffer (consumed). Returned data will include the separator at the end.</p>
|
|
<p>If EOF is received, and <tt class="docutils literal"><span class="pre"><span class="Identifier">sep</span></span></tt> was not found, procedure will raise <tt class="docutils literal"><span class="pre">AsyncStreamIncompleteError</span></tt>.</p>
|
|
<p>If <tt class="docutils literal"><span class="pre">nbytes</span></tt> bytes has been received and <tt class="docutils literal"><span class="pre"><span class="Identifier">sep</span></span></tt> was not found, procedure will raise <tt class="docutils literal"><span class="pre">AsyncStreamLimitError</span></tt>.</p>
|
|
<p>Procedure returns actual number of bytes read.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L401"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L401" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="running,AsyncStreamRW">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#running%2CAsyncStreamRW"><span class="Identifier">running</span></a><span class="Other">(</span><span class="Identifier">rw</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamRW"><span class="Identifier">AsyncStreamRW</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Returns <tt class="docutils literal"><span class="pre">true</span></tt> if reading/writing stream is still pending.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L257"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L257" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="stopped,AsyncStreamRW">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#stopped%2CAsyncStreamRW"><span class="Identifier">stopped</span></a><span class="Other">(</span><span class="Identifier">rw</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamRW"><span class="Identifier">AsyncStreamRW</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Returns <tt class="docutils literal"><span class="pre">true</span></tt> if reading/writing stream is stopped (interrupted).
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L238"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L238" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="upload,AsyncBufferRef,ptr.byte,int">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#upload%2CAsyncBufferRef%2Cptr.byte%2Cint"><span class="Identifier">upload</span></a><span class="Other">(</span><span class="Identifier">sb</span><span class="Other">:</span> <a href="asyncstream.html#AsyncBufferRef"><span class="Identifier">AsyncBufferRef</span></a><span class="Other">;</span> <span class="Identifier">pbytes</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">byte</span><span class="Other">;</span> <span class="Identifier">nbytes</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span>
|
|
<span class="Identifier">void</span><span class="Other">,</span> <span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span><span class="Other">)</span><span class="Other">]</span> {.<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">gcsafe</span><span class="Other">,</span>
|
|
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
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.
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L122"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L122" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="write,AsyncStreamWriter,pointer,int">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#write%2CAsyncStreamWriter%2Cpointer%2Cint"><span class="Identifier">write</span></a><span class="Other">(</span><span class="Identifier">wstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">;</span> <span class="Identifier">pbytes</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">nbytes</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span>
|
|
<span class="Identifier">void</span><span class="Other">,</span> <span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a><span class="Other">)</span><span class="Other">]</span> {.<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Write sequence of bytes pointed by <tt class="docutils literal"><span class="pre">pbytes</span></tt> of length <tt class="docutils literal"><span class="pre">nbytes</span></tt> to writer stream <tt class="docutils literal"><span class="pre">wstream</span></tt>.</p>
|
|
<p><tt class="docutils literal"><span class="pre">nbytes</span></tt> must be more then zero.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L699"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L699" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="write,AsyncStreamWriter,seq[byte],int">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#write%2CAsyncStreamWriter%2Cseq%5Bbyte%5D%2Cint"><span class="Identifier">write</span></a><span class="Other">(</span><span class="Identifier">wstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">;</span> <span class="Identifier">sbytes</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">byte</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">msglen</span> <span class="Other">=</span> <span class="DecNumber">-1</span><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span>
|
|
<span class="Identifier">void</span><span class="Other">,</span> <span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a><span class="Other">)</span><span class="Other">]</span> {.<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Write sequence of bytes <tt class="docutils literal"><span class="pre">sbytes</span></tt> of length <tt class="docutils literal"><span class="pre">msglen</span></tt> to writer stream <tt class="docutils literal"><span class="pre">wstream</span></tt>.</p>
|
|
<p>Sequence of bytes <tt class="docutils literal"><span class="pre">sbytes</span></tt> must not be zero-length.</p>
|
|
<p>If <tt class="docutils literal"><span class="pre">msglen < 0</span></tt> whole sequence <tt class="docutils literal"><span class="pre">sbytes</span></tt> will be writen to stream. If <tt class="docutils literal"><span class="pre">msglen > len(sbytes)</span></tt> only <tt class="docutils literal"><span class="pre">len(sbytes)</span></tt> bytes will be written to stream.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L736"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L736" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="write,AsyncStreamWriter,string,int">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#write%2CAsyncStreamWriter%2Cstring%2Cint"><span class="Identifier">write</span></a><span class="Other">(</span><span class="Identifier">wstream</span><span class="Other">:</span> <a href="asyncstream.html#AsyncStreamWriter"><span class="Identifier">AsyncStreamWriter</span></a><span class="Other">;</span> <span class="Identifier">sbytes</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">msglen</span> <span class="Other">=</span> <span class="DecNumber">-1</span><span class="Other">)</span><span class="Other">:</span> <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a><span class="Other">[</span>
|
|
<span class="Identifier">void</span><span class="Other">,</span> <span class="Other">(</span><a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a><span class="Other">,</span> <a href="asyncstream.html#AsyncStreamError"><span class="Identifier">AsyncStreamError</span></a><span class="Other">)</span><span class="Other">]</span> {.<span class="Identifier">stackTrace</span><span class="Other">:</span> <span class="DecNumber">false</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">gcsafe</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
<p>Write string <tt class="docutils literal"><span class="pre">sbytes</span></tt> of length <tt class="docutils literal"><span class="pre">msglen</span></tt> to writer stream <tt class="docutils literal"><span class="pre">wstream</span></tt>.</p>
|
|
<p>String <tt class="docutils literal"><span class="pre">sbytes</span></tt> must not be zero-length.</p>
|
|
<p>If <tt class="docutils literal"><span class="pre">msglen < 0</span></tt> whole string <tt class="docutils literal"><span class="pre">sbytes</span></tt> will be writen to stream. If <tt class="docutils literal"><span class="pre">msglen > len(sbytes)</span></tt> only <tt class="docutils literal"><span class="pre">len(sbytes)</span></tt> bytes will be written to stream.</p>
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L778"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L778" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</dl></div>
|
|
<div class="section" id="18">
|
|
<h1><a class="toc-backref" href="#18">Templates</a></h1>
|
|
<dl class="item">
|
|
<div id="checkStreamClosed.t,untyped">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#checkStreamClosed.t%2Cuntyped"><span class="Identifier">checkStreamClosed</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">untyped</span><span class="Other">)</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L293"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L293" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="checkStreamFinished.t,untyped">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#checkStreamFinished.t%2Cuntyped"><span class="Identifier">checkStreamFinished</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <span class="Identifier">untyped</span><span class="Other">)</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L296"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L296" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="copyOut.t,pointer,WriteItem,int">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#copyOut.t%2Cpointer%2CWriteItem%2Cint"><span class="Identifier">copyOut</span></a><span class="Other">(</span><span class="Identifier">dest</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">item</span><span class="Other">:</span> <a href="asyncstream.html#WriteItem"><span class="Identifier">WriteItem</span></a><span class="Other">;</span> <span class="Identifier">length</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L146"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L146" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="transfer.t,AsyncBufferRef">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#transfer.t%2CAsyncBufferRef"><span class="Identifier">transfer</span></a><span class="Other">(</span><span class="Identifier">sb</span><span class="Other">:</span> <a href="asyncstream.html#AsyncBufferRef"><span class="Identifier">AsyncBufferRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">untyped</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L111"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L111" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="wait.t,AsyncBufferRef">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#wait.t%2CAsyncBufferRef"><span class="Identifier">wait</span></a><span class="Other">(</span><span class="Identifier">sb</span><span class="Other">:</span> <a href="asyncstream.html#AsyncBufferRef"><span class="Identifier">AsyncBufferRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">untyped</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a
|
|
href="https://github.com/status-im/nim-chronos/tree/master/chronos/streams/asyncstream.nim#L106"
|
|
class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/status-im/nim-chronos/edit/devel/chronos/streams/asyncstream.nim#L106" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</dl></div>
|
|
<div class="section" id="19">
|
|
<h1><a class="toc-backref" href="#19">Exports</a></h1>
|
|
<dl class="item">
|
|
<a href="../internal/asyncengine.html#setThreadDispatcher,PDispatcher"><span class="Identifier">setThreadDispatcher</span></a>, <a href="../internal/asyncengine.html#closeSocket,AsyncFD,CallbackFunc"><span class="Identifier">closeSocket</span></a>, <a href="../oserrno.html#ENOSR"><span class="Identifier">ENOSR</span></a>, <a href="../oserrno.html#EHOSTUNREACH"><span class="Identifier">EHOSTUNREACH</span></a>, <a href="../oserrno.html#EHOSTDOWN"><span class="Identifier">EHOSTDOWN</span></a>, <a href="../oserrno.html#ECONNRESET"><span class="Identifier">ECONNRESET</span></a>, <a href="../oserrno.html#EDQUOT"><span class="Identifier">EDQUOT</span></a>, <a href="../internal/asyncfutures.html#fail.t,InternalRaisesFuture[T,E],ref.CatchableError,staticbool"><span class="Identifier">fail</span></a>, <a href="../oserrno.html#ECANCELED"><span class="Identifier">ECANCELED</span></a>, <a href="../oserrno.html#EMLINK"><span class="Identifier">EMLINK</span></a>, <a href="../internal/asyncfutures.html#FuturePendingError"><span class="Identifier">FuturePendingError</span></a>, <a href="../timer.html#milliseconds,SomeIntegerI64"><span class="Identifier">milliseconds</span></a>, <a href="../timer.html#<=,Duration,Duration"><span class="Identifier"><=</span></a>, <a href="../timer.html#+=,Moment,Duration"><span class="Identifier">+=</span></a>, <a href="../timer.html#$,Duration"><span class="Identifier">$</span></a>, <a href="../timer.html#asyncTimer"><span class="Identifier">asyncTimer</span></a>, <a href="../internal/asyncfutures.html#internalRaiseIfError.m,FutureBase,typed"><span class="Identifier">internalRaiseIfError</span></a>, <a href="../srcloc.html#getSrcLocation.t,staticstring"><span class="Identifier">getSrcLocation</span></a>, <a href="../futures.html#FutureError"><span class="Identifier">FutureError</span></a>, <a href="../timer.html#fromNow,typedesc[Moment],Duration"><span class="Identifier">fromNow</span></a>, <a href="../timer.html#weeks,Duration"><span class="Identifier">weeks</span></a>, <a href="../oserrno.html#ESPIPE"><span class="Identifier">ESPIPE</span></a>, <a href="../internal/asyncfutures.html#withTimeout,Future[T],Duration"><span class="Identifier">withTimeout</span></a>, <a href="../futures.html#LocationKind"><span class="Identifier">LocationKind</span></a>, <a href="../futures.html#id.t,FutureBase"><span class="Identifier">id</span></a>, <a href="../timer.html#<=,Moment,Moment"><span class="Identifier"><=</span></a>, <a href="../internal/asyncfutures.html#FutureCompletedError"><span class="Identifier">FutureCompletedError</span></a>, <a href="../oserrno.html#ENOEXEC"><span class="Identifier">ENOEXEC</span></a>, <a href="../oserrno.html#ESHUTDOWN"><span class="Identifier">ESHUTDOWN</span></a>, <a href="../internal/asyncfutures.html#fail.t,Future[T],ref.CatchableError,staticbool"><span class="Identifier">fail</span></a>, <a href="../oserrno.html#EREMOTEIO"><span class="Identifier">EREMOTEIO</span></a>, <a href="../timer.html#toString"><span class="Identifier">toString</span></a>, <a href="../oserrno.html#EXFULL"><span class="Identifier">EXFULL</span></a>, <a href="../internal/asyncfutures.html#waitFor,Future[void]"><span class="Identifier">waitFor</span></a>, <a href="../internal/asyncfutures.html#complete.t,Future[T],T"><span class="Identifier">complete</span></a>, <a href="../timer.html#==,Duration,Duration"><span class="Identifier">==</span></a>, <a href="../internal/asyncfutures.html#oneValue,varargs[Future[T]]"><span class="Identifier">oneValue</span></a>, <a href="../futures.html#internalInitFutureBase,FutureBase,ptr.SrcLoc,FutureState,FutureFlags"><span class="Identifier">internalInitFutureBase</span></a>, <a href="../oserrno.html#EPROTONOSUPPORT"><span class="Identifier">EPROTONOSUPPORT</span></a>, <a href="../timer.html#Nanosecond"><span class="Identifier">Nanosecond</span></a>, <a href="../timer.html#epochNanoSeconds,Moment"><span class="Identifier">epochNanoSeconds</span></a>, <a href="../internal/asyncfutures.html#cancelAndWait,FutureBase,ptr.SrcLoc"><span class="Identifier">cancelAndWait</span></a>, <a href="../internal/asyncengine.html#addTimer,int64,CallbackFunc,pointer"><span class="Identifier">addTimer</span></a>, <a href="../timer.html#Moment"><span class="Identifier">Moment</span></a>, <a href="../oserrno.html#ECOMM"><span class="Identifier">ECOMM</span></a>, <a href="../oserrno.html#EPROTOTYPE"><span class="Identifier">EPROTOTYPE</span></a>, <a href="../internal/errors.html#AsyncExceptionError"><span class="Identifier">AsyncExceptionError</span></a>, <a href="../timer.html#milliseconds,Duration"><span class="Identifier">milliseconds</span></a>, <a href="../internal/asyncengine.html#getTrackerCounter,string"><span class="Identifier">getTrackerCounter</span></a>, <a href="../oserrno.html#ENOENT"><span class="Identifier">ENOENT</span></a>, <a href="../timer.html#millis,SomeIntegerI64"><span class="Identifier">millis</span></a>, <a href="../internal/asyncengine.html#removeTimer,Moment,CallbackFunc,pointer"><span class="Identifier">removeTimer</span></a>, <a href="../futures.html#FutureFlag"><span class="Identifier">FutureFlag</span></a>, <a href="../oserrno.html#ENOTCONN"><span class="Identifier">ENOTCONN</span></a>, <a href="../oserrno.html#EBUSY"><span class="Identifier">EBUSY</span></a>, <a href="../timer.html#init,typedesc[Moment],int64,Duration"><span class="Identifier">init</span></a>, <a href="../oserrno.html#ENOTUNIQ"><span class="Identifier">ENOTUNIQ</span></a>, <a href="../timer.html#days,SomeIntegerI64"><span class="Identifier">days</span></a>, <a href="../timer.html#+=,Duration,Duration"><span class="Identifier">+=</span></a>, <a href="../internal/asyncmacro.html#await.t,InternalRaisesFuture[T,E]"><span class="Identifier">await</span></a>, <a href="../internal/asyncfutures.html#or,Future[T],Future[Y]"><span class="Identifier">or</span></a>, <a href="../timer.html#ZeroDuration"><span class="Identifier">ZeroDuration</span></a>, <a href="../oserrno.html#EKEYREVOKED"><span class="Identifier">EKEYREVOKED</span></a>, <a href="../internal/errors.html#AsyncTimeoutError"><span class="Identifier">AsyncTimeoutError</span></a>, <a href="../oserrno.html#EUCLEAN"><span class="Identifier">EUCLEAN</span></a>, <a href="../timer.html#Second"><span class="Identifier">Second</span></a>, <a href="../oserrno.html#EEXIST"><span class="Identifier">EEXIST</span></a>, <a href="../oserrno.html#ENOLINK"><span class="Identifier">ENOLINK</span></a>, <a href="../internal/asyncfutures.html#newInternalRaisesFuture.t,static[string]"><span class="Identifier">newInternalRaisesFuture</span></a>, <a href="../internal/asyncfutures.html#idleAsync"><span class="Identifier">idleAsync</span></a>, <a href="../internal/asyncengine.html#==,AsyncFD,AsyncFD"><span class="Identifier">==</span></a>, <a href="../internal/asyncfutures.html#internalRaiseIfError.m,InternalRaisesFuture,typed,typed"><span class="Identifier">internalRaiseIfError</span></a>, <a href="../timer.html#SomeIntegerI64"><span class="Identifier">SomeIntegerI64</span></a>, <a href="../oserrno.html#ENOMEM"><span class="Identifier">ENOMEM</span></a>, <a href="../oserrno.html#ENOKEY"><span class="Identifier">ENOKEY</span></a>, <a href="../timer.html#+,Duration,Duration"><span class="Identifier">+</span></a>, <a href="../internal/asyncengine.html#removeWriter2,AsyncFD"><span class="Identifier">removeWriter2</span></a>, <a href="../oserrno.html#ENOMSG"><span class="Identifier">ENOMSG</span></a>, <a href="../internal/asyncfutures.html#[],array[LocationKind,ptr.SrcLoc],int"><span class="Identifier">[]</span></a>, <a href="../internal/asyncengine.html#trackCounter,string"><span class="Identifier">trackCounter</span></a>, <a href="../oserrno.html#EKEYEXPIRED"><span class="Identifier">EKEYEXPIRED</span></a>, <a href="../timer.html#Week"><span class="Identifier">Week</span></a>, <a href="../internal/asyncengine.html#isCounterLeaked,string"><span class="Identifier">isCounterLeaked</span></a>, <a href="../internal/asyncmacro.html#awaitne.t,Future[T]"><span class="Identifier">awaitne</span></a>, <a href="../oserrno.html#EAFNOSUPPORT"><span class="Identifier">EAFNOSUPPORT</span></a>, <a href="../oserrno.html#EWOULDBLOCK"><span class="Identifier">EWOULDBLOCK</span></a>, <a href="../oserrno.html#EREMOTE"><span class="Identifier">EREMOTE</span></a>, <a href="../internal/asyncfutures.html#Finished.t,typeFutureState"><span class="Identifier">Finished</span></a>, <a href="../internal/asyncengine.html#untrackCounter,string"><span class="Identifier">untrackCounter</span></a>, <a href="../internal/asyncengine.html#AsyncCallback"><span class="Identifier">AsyncCallback</span></a>, <a href="../oserrno.html#EHWPOISON"><span class="Identifier">EHWPOISON</span></a>, <a href="../timer.html#epochSeconds,Moment"><span class="Identifier">epochSeconds</span></a>, <a href="../internal/asyncengine.html#newDispatcher"><span class="Identifier">newDispatcher</span></a>, <a href="../oserrno.html#EPERM"><span class="Identifier">EPERM</span></a>, <a href="../timer.html#microseconds,SomeIntegerI64"><span class="Identifier">microseconds</span></a>, <a href="../internal/asyncengine.html#trackerCounters.i,PDispatcher"><span class="Identifier">trackerCounters</span></a>, <a href="../timer.html#>=,Moment,Moment"><span class="Identifier">>=</span></a>, <a href="../timer.html#weeks,SomeIntegerI64"><span class="Identifier">weeks</span></a>, <a href="../internal/asyncfutures.html#Finished.t"><span class="Identifier">Finished</span></a>, <a href="../internal/asyncfutures.html#cancelCallback=,FutureBase,CallbackFunc"><span class="Identifier">cancelCallback=</span></a>, <a href="../oserrno.html#ETOOMANYREFS"><span class="Identifier">ETOOMANYREFS</span></a>, <a href="../srcloc.html#$,ptr.SrcLoc"><span class="Identifier">$</span></a>, <a href="../oserrno.html#EISCONN"><span class="Identifier">EISCONN</span></a>, <a href="../internal/asyncengine.html#callSoon,InternalAsyncCallback"><span class="Identifier">callSoon</span></a>, <a href="../oserrno.html#ESOCKTNOSUPPORT"><span class="Identifier">ESOCKTNOSUPPORT</span></a>, <a href="../internal/asyncengine.html#setGlobalDispatcher,PDispatcher"><span class="Identifier">setGlobalDispatcher</span></a>, <a href="../oserrno.html#EXDEV"><span class="Identifier">EXDEV</span></a>, <a href="../oserrno.html#EBADF"><span class="Identifier">EBADF</span></a>, <a href="../internal/asyncfutures.html#cancelSoon.t,FutureBase,CallbackFunc"><span class="Identifier">cancelSoon</span></a>, <a href="../internal/asyncfutures.html#allFinished,varargs[F]"><span class="Identifier">allFinished</span></a>, <a href="../internal/asyncengine.html#TrackerBase"><span class="Identifier">TrackerBase</span></a>, <a href="../timer.html#hours,Duration"><span class="Identifier">hours</span></a>, <a href="../futures.html#InternalAsyncCallback"><span class="Identifier">InternalAsyncCallback</span></a>, <a href="../oserrno.html#EBFONT"><span class="Identifier">EBFONT</span></a>, <a href="../oserrno.html#ENETDOWN"><span class="Identifier">ENETDOWN</span></a>, <a href="../oserrno.html#EACCES"><span class="Identifier">EACCES</span></a>, <a href="../oserrno.html#ELOOP"><span class="Identifier">ELOOP</span></a>, <a href="../timer.html#InfiniteDuration"><span class="Identifier">InfiniteDuration</span></a>, <a href="../oserrno.html#ETIMEDOUT"><span class="Identifier">ETIMEDOUT</span></a>, <a href="../timer.html#>=,Duration,Duration"><span class="Identifier">>=</span></a>, <a href="../oserrno.html#EINVAL"><span class="Identifier">EINVAL</span></a>, <a href="../futures.html#value,Future[void]"><span class="Identifier">value</span></a>, <a href="../oserrno.html#EBADFD"><span class="Identifier">EBADFD</span></a>, <a href="../futures.html#Future"><span class="Identifier">Future</span></a>, <a href="../futures.html#completed.t,typeFuture,T,static[string]"><span class="Identifier">completed</span></a>, <a href="../internal/asyncengine.html#PDispatcher"><span class="Identifier">PDispatcher</span></a>, <a href="../oserrno.html#ESRCH"><span class="Identifier">ESRCH</span></a>, <a href="../oserrno.html#EL2NSYNC"><span class="Identifier">EL2NSYNC</span></a>, <a href="../oserrno.html#EFAULT"><span class="Identifier">EFAULT</span></a>, <a href="../timer.html#low.t,typedesc[Moment]"><span class="Identifier">low</span></a>, <a href="../oserrno.html#ESTRPIPE"><span class="Identifier">ESTRPIPE</span></a>, <a href="../timer.html#-=,Duration,Duration"><span class="Identifier">-=</span></a>, <a href="../internal/asyncfutures.html#or,InternalRaisesFuture[T,E1],InternalRaisesFuture[Y,E2]"><span class="Identifier">or</span></a>, <a href="../oserrno.html#ENOTSOCK"><span class="Identifier">ENOTSOCK</span></a>, <a href="../internal/asyncengine.html#getAsyncTimestamp,Duration"><span class="Identifier">getAsyncTimestamp</span></a>, <a href="../internal/asyncmacro.html#await.t,Future[T]"><span class="Identifier">await</span></a>, <a href="../timer.html#Hour"><span class="Identifier">Hour</span></a>, <a href="../oserrno.html#EIDRM"><span class="Identifier">EIDRM</span></a>, <a href="../internal/asyncengine.html#removeReader2,AsyncFD"><span class="Identifier">removeReader2</span></a>, <a href="../timer.html#secs,Duration"><span class="Identifier">secs</span></a>, <a href="../internal/asyncengine.html#getThreadDispatcher"><span class="Identifier">getThreadDispatcher</span></a>, <a href="../internal/asyncfutures.html#futureContinue,FutureBase"><span class="Identifier">futureContinue</span></a>, <a href="../oserrno.html#ENOANO"><span class="Identifier">ENOANO</span></a>, <a href="../oserrno.html#EADV"><span class="Identifier">EADV</span></a>, <a href="../futures.html#CallbackFunc"><span class="Identifier">CallbackFunc</span></a>, <a href="../oserrno.html#ENFILE"><span class="Identifier">ENFILE</span></a>, <a href="../futures.html#FutureBase"><span class="Identifier">FutureBase</span></a>, <a href="../internal/asyncfutures.html#waitFor,InternalRaisesFuture[T: not void,E]"><span class="Identifier">waitFor</span></a>, <a href="../timer.html#high.t,typedesc[Duration]"><span class="Identifier">high</span></a>, <a href="../timer.html#Microsecond"><span class="Identifier">Microsecond</span></a>, <a href="../oserrno.html#ENOPKG"><span class="Identifier">ENOPKG</span></a>, <a href="../oserrno.html#ELIBBAD"><span class="Identifier">ELIBBAD</span></a>, <a href="../internal/asyncengine.html#callSoon,CallbackFunc,pointer"><span class="Identifier">callSoon</span></a>, <a href="../oserrno.html#EOWNERDEAD"><span class="Identifier">EOWNERDEAD</span></a>, <a href="../futures.html#flags,FutureBase"><span class="Identifier">flags</span></a>, <a href="../oserrno.html#ERANGE"><span class="Identifier">ERANGE</span></a>, <a href="../internal/asyncfutures.html#done,FutureBase"><span class="Identifier">done</span></a>, <a href="../oserrno.html#ENONET"><span class="Identifier">ENONET</span></a>, <a href="../futures.html#completed,FutureBase"><span class="Identifier">completed</span></a>, <a href="../internal/asyncengine.html#callSoon,CallbackFunc"><span class="Identifier">callSoon</span></a>, <a href="../internal/asyncfutures.html#cancelSoon.t,FutureBase,InternalAsyncCallback"><span class="Identifier">cancelSoon</span></a>, <a href="../oserrno.html#EMSGSIZE"><span class="Identifier">EMSGSIZE</span></a>, <a href="../oserrno.html#EALREADY"><span class="Identifier">EALREADY</span></a>, <a href="../oserrno.html#EBADMSG"><span class="Identifier">EBADMSG</span></a>, <a href="../oserrno.html#EILSEQ"><span class="Identifier">EILSEQ</span></a>, <a href="../oserrno.html#ENOPROTOOPT"><span class="Identifier">ENOPROTOOPT</span></a>, <a href="../srcloc.html#SrcLoc"><span class="Identifier">SrcLoc</span></a>, <a href="../internal/asyncfutures.html#allFutures,varargs[Future[T]]"><span class="Identifier">allFutures</span></a>, <a href="../timer.html#-,Moment,Duration"><span class="Identifier">-</span></a>, <a href="../internal/asyncfutures.html#complete.t,Future[void]"><span class="Identifier">complete</span></a>, <a href="../futures.html#FutureState"><span class="Identifier">FutureState</span></a>, <a href="../oserrno.html#EBADR"><span class="Identifier">EBADR</span></a>, <a href="../timer.html#nanos,Duration"><span class="Identifier">nanos</span></a>, <a href="../futures.html#location,FutureBase"><span class="Identifier">location</span></a>, <a href="../futures.html#FutureDefect"><span class="Identifier">FutureDefect</span></a>, <a href="../oserrno.html#EDOTDOT"><span class="Identifier">EDOTDOT</span></a>, <a href="../oserrno.html#ENOBUFS"><span class="Identifier">ENOBUFS</span></a>, <a href="../oserrno.html#EKEYREJECTED"><span class="Identifier">EKEYREJECTED</span></a>, <a href="../timer.html#<,Moment,Moment"><span class="Identifier"><</span></a>, <a href="../timer.html#Minute"><span class="Identifier">Minute</span></a>, <a href="../futures.html#error,FutureBase"><span class="Identifier">error</span></a>, <a href="../timer.html#==,Moment,Moment"><span class="Identifier">==</span></a>, <a href="../internal/asyncfutures.html#one,F,varargs[F]"><span class="Identifier">one</span></a>, <a href="../futures.html#CancelledError"><span class="Identifier">CancelledError</span></a>, <a href="../timer.html#nanoseconds,Duration"><span class="Identifier">nanoseconds</span></a>, <a href="../oserrno.html#EISDIR"><span class="Identifier">EISDIR</span></a>, <a href="../oserrno.html#EOVERFLOW"><span class="Identifier">EOVERFLOW</span></a>, <a href="../internal/asyncfutures.html#FutureSeq"><span class="Identifier">FutureSeq</span></a>, <a href="../internal/asyncfutures.html#cancelAndWait.t,FutureBase"><span class="Identifier">cancelAndWait</span></a>, <a href="../timer.html#micros,SomeIntegerI64"><span class="Identifier">micros</span></a>, <a href="../internal/asyncfutures.html#all,varargs[Future[T]]"><span class="Identifier">all</span></a>, <a href="../timer.html#-,Moment,Moment"><span class="Identifier">-</span></a>, <a href="../oserrno.html#ESRMNT"><span class="Identifier">ESRMNT</span></a>, <a href="../oserrno.html#ENOTEMPTY"><span class="Identifier">ENOTEMPTY</span></a>, <a href="../oserrno.html#EPROTO"><span class="Identifier">EPROTO</span></a>, <a href="../internal/asyncengine.html#TimerCallback"><span class="Identifier">TimerCallback</span></a>, <a href="../timer.html#microseconds,Duration"><span class="Identifier">microseconds</span></a>, <a href="../internal/raisesfutures.html#error,InternalRaisesFuture[T,void]"><span class="Identifier">error</span></a>, <a href="../oserrno.html#ENOTRECOVERABLE"><span class="Identifier">ENOTRECOVERABLE</span></a>, <a href="../internal/asyncfutures.html#wait,Future[T],int"><span class="Identifier">wait</span></a>, <a href="../internal/asyncengine.html#callIdle,CallbackFunc"><span class="Identifier">callIdle</span></a>, <a href="../internal/asyncfutures.html#join,SomeFuture"><span class="Identifier">join</span></a>, <a href="../timer.html#hours,SomeIntegerI64"><span class="Identifier">hours</span></a>, <a href="../internal/errors.html#AsyncError"><span class="Identifier">AsyncError</span></a>, <a href="../oserrno.html#EBADRQC"><span class="Identifier">EBADRQC</span></a>, <a href="../oserrno.html#ENODEV"><span class="Identifier">ENODEV</span></a>, <a href="../internal/asyncfutures.html#tryCancel.t,FutureBase"><span class="Identifier">tryCancel</span></a>, <a href="../internal/asyncengine.html#addTimer,Moment,CallbackFunc,pointer"><span class="Identifier">addTimer</span></a>, <a href="../oserrno.html#ECHRNG"><span class="Identifier">ECHRNG</span></a>, <a href="../oserrno.html#ENOTDIR"><span class="Identifier">ENOTDIR</span></a>, <a href="../oserrno.html#EUNATCH"><span class="Identifier">EUNATCH</span></a>, <a href="../internal/asyncfutures.html#cancelAndSchedule.t,FutureBase"><span class="Identifier">cancelAndSchedule</span></a>, <a href="../futures.html#failed,FutureBase"><span class="Identifier">failed</span></a>, <a href="../timer.html#nanoseconds,SomeIntegerI64"><span class="Identifier">nanoseconds</span></a>, <a href="../oserrno.html#ERESTART"><span class="Identifier">ERESTART</span></a>, <a href="../timer.html#*,SomeIntegerI64,Duration"><span class="Identifier">*</span></a>, <a href="../oserrno.html#ETXTBSY"><span class="Identifier">ETXTBSY</span></a>, <a href="../internal/asyncengine.html#getTracker,string"><span class="Identifier">getTracker</span></a>, <a href="../internal/asyncfutures.html#newFutureStr.t,static[string]"><span class="Identifier">newFutureStr</span></a>, <a href="../oserrno.html#EMFILE"><span class="Identifier">EMFILE</span></a>, <a href="../internal/asyncfutures.html#LocFinishIndex.t"><span class="Identifier">LocFinishIndex</span></a>, <a href="../internal/asyncfutures.html#withTimeout,Future[T],int"><span class="Identifier">withTimeout</span></a>, <a href="../internal/asyncengine.html#addTimer,uint64,CallbackFunc,pointer"><span class="Identifier">addTimer</span></a>, <a href="../internal/asyncfutures.html#race,openArray[SomeFuture]"><span class="Identifier">race</span></a>, <a href="../oserrno.html#EUSERS"><span class="Identifier">EUSERS</span></a>, <a href="../oserrno.html#ENOTBLK"><span class="Identifier">ENOTBLK</span></a>, <a href="../oserrno.html#ENOTTY"><span class="Identifier">ENOTTY</span></a>, <a href="../oserrno.html#EISNAM"><span class="Identifier">EISNAM</span></a>, <a href="../oserrno.html#ELIBACC"><span class="Identifier">ELIBACC</span></a>, <a href="../oserrno.html#ENAVAIL"><span class="Identifier">ENAVAIL</span></a>, <a href="../futures.html#init.t,typeFuture[T],static[string],static[FutureFlags]"><span class="Identifier">init</span></a>, <a href="../internal/asyncfutures.html#race,openArray[FutureBase]"><span class="Identifier">race</span></a>, <a href="../internal/asyncengine.html#internalCallTick,InternalAsyncCallback"><span class="Identifier">internalCallTick</span></a>, <a href="../oserrno.html#EDESTADDRREQ"><span class="Identifier">EDESTADDRREQ</span></a>, <a href="../timer.html#+,Moment,Duration"><span class="Identifier">+</span></a>, <a href="../internal/asyncfutures.html#cancelSoon.t,FutureBase"><span class="Identifier">cancelSoon</span></a>, <a href="../futures.html#completed.t,typeFuture,static[string]"><span class="Identifier">completed</span></a>, <a href="../timer.html#minutes,SomeIntegerI64"><span class="Identifier">minutes</span></a>, <a href="../internal/asyncfutures.html#cancel.t,FutureBase"><span class="Identifier">cancel</span></a>, <a href="../futures.html#FutureFlags"><span class="Identifier">FutureFlags</span></a>, <a href="../internal/asyncengine.html#getGlobalDispatcher"><span class="Identifier">getGlobalDispatcher</span></a>, <a href="../oserrno.html#ELIBEXEC"><span class="Identifier">ELIBEXEC</span></a>, <a href="../internal/asyncfutures.html#stepsAsync,int"><span class="Identifier">stepsAsync</span></a>, <a href="../timer.html#micros,Duration"><span class="Identifier">micros</span></a>, <a href="../internal/asyncfutures.html#wait,Future[T]"><span class="Identifier">wait</span></a>, <a href="../oserrno.html#EINPROGRESS"><span class="Identifier">EINPROGRESS</span></a>, <a href="../oserrno.html#EPFNOSUPPORT"><span class="Identifier">EPFNOSUPPORT</span></a>, <a href="../oserrno.html#E2BIG"><span class="Identifier">E2BIG</span></a>, <a href="../timer.html#-=,Moment,Duration"><span class="Identifier">-=</span></a>, <a href="../internal/asyncengine.html#runForever"><span class="Identifier">runForever</span></a>, <a href="../oserrno.html#ENOMEDIUM"><span class="Identifier">ENOMEDIUM</span></a>, <a href="../timer.html#secs,SomeIntegerI64"><span class="Identifier">secs</span></a>, <a href="../futures.html#value,Future[T: not void]"><span class="Identifier">value</span></a>, <a href="../internal/asyncfutures.html#read,Future[T: not void]"><span class="Identifier">read</span></a>, <a href="../internal/asyncfutures.html#waitFor,Future[T: not void]"><span class="Identifier">waitFor</span></a>, <a href="../oserrno.html#EL3HLT"><span class="Identifier">EL3HLT</span></a>, <a href="../internal/asyncengine.html#unregisterAndCloseFd,AsyncFD"><span class="Identifier">unregisterAndCloseFd</span></a>, <a href="../oserrno.html#EBADSLT"><span class="Identifier">EBADSLT</span></a>, <a href="../internal/raisesfutures.html#InternalRaisesFuture"><span class="Identifier">InternalRaisesFuture</span></a>, <a href="../timer.html#-,Duration,Duration"><span class="Identifier">-</span></a>, <a href="../timer.html#<,Duration,Duration"><span class="Identifier"><</span></a>, <a href="../oserrno.html#ENETRESET"><span class="Identifier">ENETRESET</span></a>, <a href="../timer.html#fastEpochTime"><span class="Identifier">fastEpochTime</span></a>, <a href="../oserrno.html#ENXIO"><span class="Identifier">ENXIO</span></a>, <a href="../timer.html#isZero,Duration"><span class="Identifier">isZero</span></a>, <a href="../oserrno.html#EPIPE"><span class="Identifier">EPIPE</span></a>, <a href="../internal/asyncfutures.html#allFutures,varargs[FutureBase]"><span class="Identifier">allFutures</span></a>, <a href="../timer.html#Day"><span class="Identifier">Day</span></a>, <a href="../internal/asyncfutures.html#wait,InternalRaisesFuture,SomeFuture"><span class="Identifier">wait</span></a>, <a href="../timer.html#now,typedesc[Moment]"><span class="Identifier">now</span></a>, <a href="../internal/asyncfutures.html#read,InternalRaisesFuture[void,E]"><span class="Identifier">read</span></a>, <a href="../internal/asyncfutures.html#asyncSpawn,Future[void]"><span class="Identifier">asyncSpawn</span></a>, <a href="../internal/asyncfutures.html#removeCallback,FutureBase,CallbackFunc,pointer"><span class="Identifier">removeCallback</span></a>, <a href="../oserrno.html#EAGAIN"><span class="Identifier">EAGAIN</span></a>, <a href="../internal/asyncengine.html#raiseOsDefect,OSErrorCode,string"><span class="Identifier">raiseOsDefect</span></a>, <a href="../internal/asyncengine.html#trackerCounterKeys.i,PDispatcher"><span class="Identifier">trackerCounterKeys</span></a>, <a href="../oserrno.html#EADDRNOTAVAIL"><span class="Identifier">EADDRNOTAVAIL</span></a>, <a href="../internal/asyncfutures.html#read,InternalRaisesFuture[T: not void,E]"><span class="Identifier">read</span></a>, <a href="../internal/asyncfutures.html#removeCallback,FutureBase,CallbackFunc"><span class="Identifier">removeCallback</span></a>, <a href="../internal/asyncengine.html#TrackerCounter"><span class="Identifier">TrackerCounter</span></a>, <a href="../internal/asyncmacro.html#async.m,untyped"><span class="Identifier">async</span></a>, <a href="../internal/asyncfutures.html#addCallback,FutureBase,CallbackFunc"><span class="Identifier">addCallback</span></a>, <a href="../internal/raisesfutures.html#init.t,typeInternalRaisesFuture[T,E],static[string],static[FutureFlags]"><span class="Identifier">init</span></a>, <a href="../internal/asyncmacro.html#async.m,untyped,untyped"><span class="Identifier">async</span></a>, <a href="../oserrno.html#EREMCHG"><span class="Identifier">EREMCHG</span></a>, <a href="../futures.html#finished,FutureBase"><span class="Identifier">finished</span></a>, <a href="../internal/asyncfutures.html#addCallback,FutureBase,CallbackFunc,pointer"><span class="Identifier">addCallback</span></a>, <a href="../timer.html#seconds,SomeIntegerI64"><span class="Identifier">seconds</span></a>, <a href="../internal/asyncfutures.html#noCancel,F"><span class="Identifier">noCancel</span></a>, <a href="../timer.html#low.t,typedesc[Duration]"><span class="Identifier">low</span></a>, <a href="../internal/asyncengine.html#AsyncFD"><span class="Identifier">AsyncFD</span></a>, <a href="../oserrno.html#ECHILD"><span class="Identifier">ECHILD</span></a>, <a href="../internal/raisesfutures.html#Raising.m,typedesc[Future[T]],typed"><span class="Identifier">Raising</span></a>, <a href="../internal/raisesfutures.html#init.t,typeInternalRaisesFuture[T,E],static[string]"><span class="Identifier">init</span></a>, <a href="../oserrno.html#ECONNABORTED"><span class="Identifier">ECONNABORTED</span></a>, <a href="../futures.html#state,FutureBase"><span class="Identifier">state</span></a>, <a href="../internal/asyncfutures.html#wait,InternalRaisesFuture"><span class="Identifier">wait</span></a>, <a href="../timer.html#>,Moment,Moment"><span class="Identifier">></span></a>, <a href="../internal/asyncengine.html#callIdle,InternalAsyncCallback"><span class="Identifier">callIdle</span></a>, <a href="../internal/asyncengine.html#removeTimer,int64,CallbackFunc,pointer"><span class="Identifier">removeTimer</span></a>, <a href="../internal/asyncfutures.html#LocCreateIndex.t"><span class="Identifier">LocCreateIndex</span></a>, <a href="../internal/asyncengine.html#addReader2,AsyncFD,CallbackFunc,pointer"><span class="Identifier">addReader2</span></a>, <a href="../oserrno.html#ETIME"><span class="Identifier">ETIME</span></a>, <a href="../oserrno.html#ENOLCK"><span class="Identifier">ENOLCK</span></a>, <a href="../oserrno.html#EDEADLK"><span class="Identifier">EDEADLK</span></a>, <a href="../internal/asyncfutures.html#asyncCheck,Future[T]"><span class="Identifier">asyncCheck</span></a>, <a href="../timer.html#Duration"><span class="Identifier">Duration</span></a>, <a href="../oserrno.html#ELNRNG"><span class="Identifier">ELNRNG</span></a>, <a href="../oserrno.html#EDOM"><span class="Identifier">EDOM</span></a>, <a href="../oserrno.html#ENOCSI"><span class="Identifier">ENOCSI</span></a>, <a href="../timer.html#millis,Duration"><span class="Identifier">millis</span></a>, <a href="../oserrno.html#EBADE"><span class="Identifier">EBADE</span></a>, <a href="../oserrno.html#EMEDIUMTYPE"><span class="Identifier">EMEDIUMTYPE</span></a>, <a href="../internal/raisesfutures.html#readError,InternalRaisesFuture[T,void]"><span class="Identifier">readError</span></a>, <a href="../internal/asyncfutures.html#sleepAsync,int"><span class="Identifier">sleepAsync</span></a>, <a href="../timer.html#isInfinite,Duration"><span class="Identifier">isInfinite</span></a>, <a href="../internal/asyncfutures.html#asyncDiscard,Future[T]"><span class="Identifier">asyncDiscard</span></a>, <a href="../internal/asyncfutures.html#callback=,FutureBase,CallbackFunc"><span class="Identifier">callback=</span></a>, <a href="../oserrno.html#ENETUNREACH"><span class="Identifier">ENETUNREACH</span></a>, <a href="../futures.html#InternalFutureBase"><span class="Identifier">InternalFutureBase</span></a>, <a href="../internal/asyncengine.html#callIdle,CallbackFunc,pointer"><span class="Identifier">callIdle</span></a>, <a href="../oserrno.html#ENOSYS"><span class="Identifier">ENOSYS</span></a>, <a href="../oserrno.html#ELIBSCN"><span class="Identifier">ELIBSCN</span></a>, <a href="../oserrno.html#EIO"><span class="Identifier">EIO</span></a>, <a href="../oserrno.html#EROFS"><span class="Identifier">EROFS</span></a>, <a href="../timer.html#seconds,Duration"><span class="Identifier">seconds</span></a>, <a href="../oserrno.html#ELIBMAX"><span class="Identifier">ELIBMAX</span></a>, <a href="../timer.html#div,Duration,SomeIntegerI64"><span class="Identifier">div</span></a>, <a href="../futures.html#init.t,typeFuture[T],static[string]"><span class="Identifier">init</span></a>, <a href="../oserrno.html#EL2HLT"><span class="Identifier">EL2HLT</span></a>, <a href="../oserrno.html#EOPNOTSUPP"><span class="Identifier">EOPNOTSUPP</span></a>, <a href="../internal/asyncfutures.html#FutureStr"><span class="Identifier">FutureStr</span></a>, <a href="../internal/asyncengine.html#poll"><span class="Identifier">poll</span></a>, <a href="../internal/asyncfutures.html#oneIndex,varargs[Future[T]]"><span class="Identifier">oneIndex</span></a>, <a href="../internal/asyncengine.html#clearTimer,TimerCallback"><span class="Identifier">clearTimer</span></a>, <a href="../internal/asyncengine.html#register2,AsyncFD"><span class="Identifier">register2</span></a>, <a href="../internal/asyncfutures.html#LocCompleteIndex.t"><span class="Identifier">LocCompleteIndex</span></a>, <a href="../timer.html#days,Duration"><span class="Identifier">days</span></a>, <a href="../oserrno.html#ENOSTR"><span class="Identifier">ENOSTR</span></a>, <a href="../oserrno.html#EADDRINUSE"><span class="Identifier">EADDRINUSE</span></a>, <a href="../internal/asyncfutures.html#one,openArray[F]"><span class="Identifier">one</span></a>, <a href="../internal/asyncfutures.html#sleepAsync,Duration"><span class="Identifier">sleepAsync</span></a>, <a href="../oserrno.html#ENAMETOOLONG"><span class="Identifier">ENAMETOOLONG</span></a>, <a href="../oserrno.html#EMULTIHOP"><span class="Identifier">EMULTIHOP</span></a>, <a href="../oserrno.html#ESTALE"><span class="Identifier">ESTALE</span></a>, <a href="../internal/asyncfutures.html#race,FutureBase,varargs[FutureBase]"><span class="Identifier">race</span></a>, <a href="../oserrno.html#ENODATA"><span class="Identifier">ENODATA</span></a>, <a href="../oserrno.html#EFBIG"><span class="Identifier">EFBIG</span></a>, <a href="../timer.html#+,Duration,Moment"><span class="Identifier">+</span></a>, <a href="../timer.html#minutes,Duration"><span class="Identifier">minutes</span></a>, <a href="../oserrno.html#ERFKILL"><span class="Identifier">ERFKILL</span></a>, <a href="../futures.html#cancelled,FutureBase"><span class="Identifier">cancelled</span></a>, <a href="../timer.html#$,Moment"><span class="Identifier">$</span></a>, <a href="../internal/asyncengine.html#toException,OSErrorCode"><span class="Identifier">toException</span></a>, <a href="../internal/asyncfutures.html#join,FutureBase"><span class="Identifier">join</span></a>, <a href="../oserrno.html#EDEADLOCK"><span class="Identifier">EDEADLOCK</span></a>, <a href="../internal/asyncfutures.html#allFutures,varargs[InternalRaisesFuture[T,E]]"><span class="Identifier">allFutures</span></a>, <a href="../internal/asyncengine.html#MaxEventsCount"><span class="Identifier">MaxEventsCount</span></a>, <a href="../internal/asyncfutures.html#wait,Future[T],SomeFuture"><span class="Identifier">wait</span></a>, <a href="../internal/asyncfutures.html#read,Future[void]"><span class="Identifier">read</span></a>, <a href="../internal/asyncengine.html#raiseAsDefect,ref.Exception,string"><span class="Identifier">raiseAsDefect</span></a>, <a href="../oserrno.html#ENOSPC"><span class="Identifier">ENOSPC</span></a>, <a href="../timer.html#Millisecond"><span class="Identifier">Millisecond</span></a>, <a href="../timer.html#>,Duration,Duration"><span class="Identifier">></span></a>, <a href="../internal/asyncengine.html#setTimer,Moment,CallbackFunc,pointer"><span class="Identifier">setTimer</span></a>, <a href="../internal/asyncfutures.html#cancelSoon.t,FutureBase,CallbackFunc,pointer"><span class="Identifier">cancelSoon</span></a>, <a href="../internal/asyncengine.html#unregister2,AsyncFD"><span class="Identifier">unregister2</span></a>, <a href="../futures.html#failed.t,typeFuture[T],ref.CatchableError,static[string]"><span class="Identifier">failed</span></a>, <a href="../internal/asyncfutures.html#waitFor,InternalRaisesFuture[void,E]"><span class="Identifier">waitFor</span></a>, <a href="../internal/asyncfutures.html#newFutureSeq.t,static[string]"><span class="Identifier">newFutureSeq</span></a>, <a href="../internal/asyncengine.html#addTracker,string,T"><span class="Identifier">addTracker</span></a>, <a href="../internal/asyncfutures.html#callback=,FutureBase,CallbackFunc,pointer"><span class="Identifier">callback=</span></a>, <a href="../internal/asyncfutures.html#orImpl.t,Future[T],Future[Y]"><span class="Identifier">orImpl</span></a>, <a href="../oserrno.html#ECONNREFUSED"><span class="Identifier">ECONNREFUSED</span></a>, <a href="../timer.html#high.t,typedesc[Moment]"><span class="Identifier">high</span></a>, <a href="../oserrno.html#ENOTNAM"><span class="Identifier">ENOTNAM</span></a>, <a href="../timer.html#nanos,SomeIntegerI64"><span class="Identifier">nanos</span></a>, <a href="../internal/asyncengine.html#addWriter2,AsyncFD,CallbackFunc,pointer"><span class="Identifier">addWriter2</span></a>, <a href="../internal/asyncengine.html#removeTimer,uint64,CallbackFunc,pointer"><span class="Identifier">removeTimer</span></a>, <a href="../internal/asyncengine.html#internalCallTick,CallbackFunc,pointer"><span class="Identifier">internalCallTick</span></a>, <a href="../oserrno.html#EINTR"><span class="Identifier">EINTR</span></a>, <a href="../internal/asyncfutures.html#and,Future[T],Future[Y]"><span class="Identifier">and</span></a>, <a href="../internal/asyncengine.html#closeHandle,AsyncFD,CallbackFunc"><span class="Identifier">closeHandle</span></a>, <a href="../oserrno.html#EL3RST"><span class="Identifier">EL3RST</span></a>, <a href="../internal/asyncfutures.html#readError,FutureBase"><span class="Identifier">readError</span></a>, <a href="../timer.html#*,Duration,SomeIntegerI64"><span class="Identifier">*</span></a>, <a href="../internal/asyncfutures.html#newFuture.t,static[string],static[FutureFlags]"><span class="Identifier">newFuture</span></a>, <a href="../internal/asyncengine.html#internalCallTick,CallbackFunc"><span class="Identifier">internalCallTick</span></a>, <a href="../asyncsync.html#[]=,AsyncQueue[T],BackwardsIndex,T"><span class="Identifier">[]=</span></a>, <a href="../oserrno.html#EDQUOT_2"><span class="Identifier">EDQUOT</span></a>, <a href="../timer.html#Second_2"><span class="Identifier">Second</span></a>, <a href="../internal/asyncengine.html#closeSocket,AsyncFD,CallbackFunc_2"><span class="Identifier">closeSocket</span></a>, <a href="../oserrno.html#EHOSTUNREACH_2"><span class="Identifier">EHOSTUNREACH</span></a>, <a href="../oserrno.html#EHOSTDOWN_2"><span class="Identifier">EHOSTDOWN</span></a>, <a href="../asyncsync.html#closeWait,AsyncEventQueue"><span class="Identifier">closeWait</span></a>, <a href="../oserrno.html#ECONNRESET_2"><span class="Identifier">ECONNRESET</span></a>, <a href="../timer.html#==,Duration,Duration_2"><span class="Identifier">==</span></a>, <a href="../internal/asyncfutures.html#fail.t,InternalRaisesFuture[T,E],ref.CatchableError,staticbool_2"><span class="Identifier">fail</span></a>, <a href="../oserrno.html#ECANCELED_2"><span class="Identifier">ECANCELED</span></a>, <a href="../oserrno.html#EMLINK_2"><span class="Identifier">EMLINK</span></a>, <a href="../timer.html#milliseconds,Duration_2"><span class="Identifier">milliseconds</span></a>, <a href="../futures.html#FutureBase_2"><span class="Identifier">FutureBase</span></a>, <a href="../timer.html#<=,Duration,Duration_2"><span class="Identifier"><=</span></a>, <a href="../timer.html#+=,Moment,Duration_2"><span class="Identifier">+=</span></a>, <a href="../timer.html#$,Duration_2"><span class="Identifier">$</span></a>, <a href="../timer.html#asyncTimer_2"><span class="Identifier">asyncTimer</span></a>, <a href="../internal/asyncfutures.html#internalRaiseIfError.m,FutureBase,typed_2"><span class="Identifier">internalRaiseIfError</span></a>, <a href="../srcloc.html#getSrcLocation.t,staticstring_2"><span class="Identifier">getSrcLocation</span></a>, <a href="../futures.html#FutureError_2"><span class="Identifier">FutureError</span></a>, <a href="../timer.html#fromNow,typedesc[Moment],Duration_2"><span class="Identifier">fromNow</span></a>, <a href="../asyncsync.html#close,AsyncEventQueue"><span class="Identifier">close</span></a>, <a href="../timer.html#weeks,SomeIntegerI64_2"><span class="Identifier">weeks</span></a>, <a href="../internal/asyncfutures.html#LocFinishIndex.t_2"><span class="Identifier">LocFinishIndex</span></a>, <a href="../oserrno.html#ESPIPE_2"><span class="Identifier">ESPIPE</span></a>, <a href="../internal/asyncfutures.html#withTimeout,Future[T],Duration_2"><span class="Identifier">withTimeout</span></a>, <a href="../futures.html#LocationKind_2"><span class="Identifier">LocationKind</span></a>, <a href="../futures.html#id.t,FutureBase_2"><span class="Identifier">id</span></a>, <a href="../asyncsync.html#isSet,AsyncEvent"><span class="Identifier">isSet</span></a>, <a href="../timer.html#<=,Moment,Moment_2"><span class="Identifier"><=</span></a>, <a href="../internal/asyncfutures.html#FutureCompletedError_2"><span class="Identifier">FutureCompletedError</span></a>, <a href="../timer.html#SomeIntegerI64_2"><span class="Identifier">SomeIntegerI64</span></a>, <a href="../internal/asyncfutures.html#fail.t,Future[T],ref.CatchableError,staticbool_2"><span class="Identifier">fail</span></a>, <a href="../oserrno.html#EREMOTEIO_2"><span class="Identifier">EREMOTEIO</span></a>, <a href="../internal/asyncfutures.html#waitFor,Future[T: not void]_2"><span class="Identifier">waitFor</span></a>, <a href="../internal/asyncengine.html#addTimer,int64,CallbackFunc,pointer_2"><span class="Identifier">addTimer</span></a>, <a href="../internal/asyncengine.html#==,AsyncFD,AsyncFD_2"><span class="Identifier">==</span></a>, <a href="../internal/asyncfutures.html#oneValue,varargs[Future[T]]_2"><span class="Identifier">oneValue</span></a>, <a href="../futures.html#internalInitFutureBase,FutureBase,ptr.SrcLoc,FutureState,FutureFlags_2"><span class="Identifier">internalInitFutureBase</span></a>, <a href="../oserrno.html#EPROTONOSUPPORT_2"><span class="Identifier">EPROTONOSUPPORT</span></a>, <a href="../timer.html#nanoseconds,Duration_2"><span class="Identifier">nanoseconds</span></a>, <a href="../internal/asyncfutures.html#cancelAndWait,FutureBase,ptr.SrcLoc_2"><span class="Identifier">cancelAndWait</span></a>, <a href="../internal/asyncengine.html#addTimer,uint64,CallbackFunc,pointer_2"><span class="Identifier">addTimer</span></a>, <a href="../timer.html#Moment_2"><span class="Identifier">Moment</span></a>, <a href="../oserrno.html#ECOMM_2"><span class="Identifier">ECOMM</span></a>, <a href="../asyncsync.html#addFirst,AsyncQueue[T],T"><span class="Identifier">addFirst</span></a>, <a href="../asyncsync.html#register,AsyncEventQueue"><span class="Identifier">register</span></a>, <a href="../oserrno.html#EPROTOTYPE_2"><span class="Identifier">EPROTOTYPE</span></a>, <a href="../asyncsync.html#[],AsyncQueue[T],Natural"><span class="Identifier">[]</span></a>, <a href="../internal/errors.html#AsyncExceptionError_2"><span class="Identifier">AsyncExceptionError</span></a>, <a href="../internal/asyncfutures.html#and,Future[T],Future[Y]_2"><span class="Identifier">and</span></a>, <a href="../srcloc.html#SrcLoc_2"><span class="Identifier">SrcLoc</span></a>, <a href="../oserrno.html#ENOCSI_2"><span class="Identifier">ENOCSI</span></a>, <a href="../timer.html#milliseconds,SomeIntegerI64_2"><span class="Identifier">milliseconds</span></a>, <a href="../internal/asyncengine.html#getTrackerCounter,string_2"><span class="Identifier">getTrackerCounter</span></a>, <a href="../oserrno.html#ENOENT_2"><span class="Identifier">ENOENT</span></a>, <a href="../timer.html#millis,Duration_2"><span class="Identifier">millis</span></a>, <a href="../internal/asyncengine.html#removeTimer,Moment,CallbackFunc,pointer_2"><span class="Identifier">removeTimer</span></a>, <a href="../oserrno.html#ELIBACC_2"><span class="Identifier">ELIBACC</span></a>, <a href="../oserrno.html#EADDRNOTAVAIL_2"><span class="Identifier">EADDRNOTAVAIL</span></a>, <a href="../oserrno.html#ENOTCONN_2"><span class="Identifier">ENOTCONN</span></a>, <a href="../oserrno.html#EBUSY_2"><span class="Identifier">EBUSY</span></a>, <a href="../futures.html#init.t,typeFuture[T],static[string]_2"><span class="Identifier">init</span></a>, <a href="../internal/asyncfutures.html#waitFor,InternalRaisesFuture[void,E]_2"><span class="Identifier">waitFor</span></a>, <a href="../timer.html#days,SomeIntegerI64_2"><span class="Identifier">days</span></a>, <a href="../timer.html#+=,Duration,Duration_2"><span class="Identifier">+=</span></a>, <a href="../internal/asyncmacro.html#await.t,InternalRaisesFuture[T,E]_2"><span class="Identifier">await</span></a>, <a href="../oserrno.html#EAFNOSUPPORT_2"><span class="Identifier">EAFNOSUPPORT</span></a>, <a href="../internal/asyncfutures.html#cancelSoon.t,FutureBase_2"><span class="Identifier">cancelSoon</span></a>, <a href="../internal/errors.html#AsyncTimeoutError_2"><span class="Identifier">AsyncTimeoutError</span></a>, <a href="../internal/asyncengine.html#internalCallTick,InternalAsyncCallback_2"><span class="Identifier">internalCallTick</span></a>, <a href="../asyncsync.html#[]=,AsyncQueue[T],Natural,T"><span class="Identifier">[]=</span></a>, <a href="../internal/asyncengine.html#setThreadDispatcher,PDispatcher_2"><span class="Identifier">setThreadDispatcher</span></a>, <a href="../oserrno.html#EEXIST_2"><span class="Identifier">EEXIST</span></a>, <a href="../timer.html#isInfinite,Duration_2"><span class="Identifier">isInfinite</span></a>, <a href="../oserrno.html#ENOLINK_2"><span class="Identifier">ENOLINK</span></a>, <a href="../internal/asyncfutures.html#newInternalRaisesFuture.t,static[string]_2"><span class="Identifier">newInternalRaisesFuture</span></a>, <a href="../internal/asyncfutures.html#idleAsync_2"><span class="Identifier">idleAsync</span></a>, <a href="../internal/asyncfutures.html#internalRaiseIfError.m,InternalRaisesFuture,typed,typed_2"><span class="Identifier">internalRaiseIfError</span></a>, <a href="../oserrno.html#ESHUTDOWN_2"><span class="Identifier">ESHUTDOWN</span></a>, <a href="../oserrno.html#ENOMEM_2"><span class="Identifier">ENOMEM</span></a>, <a href="../oserrno.html#ENOKEY_2"><span class="Identifier">ENOKEY</span></a>, <a href="../timer.html#+,Duration,Moment_2"><span class="Identifier">+</span></a>, <a href="../internal/asyncengine.html#removeWriter2,AsyncFD_2"><span class="Identifier">removeWriter2</span></a>, <a href="../oserrno.html#ENOMSG_2"><span class="Identifier">ENOMSG</span></a>, <a href="../internal/asyncfutures.html#[],array[LocationKind,ptr.SrcLoc],int_2"><span class="Identifier">[]</span></a>, <a href="../internal/asyncengine.html#trackCounter,string_2"><span class="Identifier">trackCounter</span></a>, <a href="../oserrno.html#EKEYEXPIRED_2"><span class="Identifier">EKEYEXPIRED</span></a>, <a href="../timer.html#Week_2"><span class="Identifier">Week</span></a>, <a href="../internal/asyncengine.html#isCounterLeaked,string_2"><span class="Identifier">isCounterLeaked</span></a>, <a href="../internal/asyncmacro.html#awaitne.t,Future[T]_2"><span class="Identifier">awaitne</span></a>, <a href="../timer.html#$,Moment_2"><span class="Identifier">$</span></a>, <a href="../oserrno.html#EWOULDBLOCK_2"><span class="Identifier">EWOULDBLOCK</span></a>, <a href="../oserrno.html#EREMOTE_2"><span class="Identifier">EREMOTE</span></a>, <a href="../asyncsync.html#unregister,AsyncEventQueue,EventQueueKey"><span class="Identifier">unregister</span></a>, <a href="../internal/asyncfutures.html#Finished.t,typeFutureState_2"><span class="Identifier">Finished</span></a>, <a href="../internal/asyncengine.html#untrackCounter,string_2"><span class="Identifier">untrackCounter</span></a>, <a href="../internal/asyncengine.html#AsyncCallback_2"><span class="Identifier">AsyncCallback</span></a>, <a href="../oserrno.html#EHWPOISON_2"><span class="Identifier">EHWPOISON</span></a>, <a href="../timer.html#epochSeconds,Moment_2"><span class="Identifier">epochSeconds</span></a>, <a href="../internal/asyncengine.html#newDispatcher_2"><span class="Identifier">newDispatcher</span></a>, <a href="../oserrno.html#EPERM_2"><span class="Identifier">EPERM</span></a>, <a href="../timer.html#microseconds,Duration_2"><span class="Identifier">microseconds</span></a>, <a href="../internal/asyncengine.html#trackerCounters.i,PDispatcher_2"><span class="Identifier">trackerCounters</span></a>, <a href="../timer.html#>=,Moment,Moment_2"><span class="Identifier">>=</span></a>, <a href="../internal/asyncfutures.html#sleepAsync,int_2"><span class="Identifier">sleepAsync</span></a>, <a href="../internal/asyncfutures.html#addCallback,FutureBase,CallbackFunc_2"><span class="Identifier">addCallback</span></a>, <a href="../timer.html#weeks,Duration_2"><span class="Identifier">weeks</span></a>, <a href="../oserrno.html#EFAULT_2"><span class="Identifier">EFAULT</span></a>, <a href="../internal/asyncengine.html#callIdle,CallbackFunc,pointer_2"><span class="Identifier">callIdle</span></a>, <a href="../internal/asyncfutures.html#cancelCallback=,FutureBase,CallbackFunc_2"><span class="Identifier">cancelCallback=</span></a>, <a href="../oserrno.html#ETOOMANYREFS_2"><span class="Identifier">ETOOMANYREFS</span></a>, <a href="../asyncsync.html#mitems.i,AsyncQueue[T]"><span class="Identifier">mitems</span></a>, <a href="../oserrno.html#EISCONN_2"><span class="Identifier">EISCONN</span></a>, <a href="../internal/asyncengine.html#callSoon,CallbackFunc_2"><span class="Identifier">callSoon</span></a>, <a href="../oserrno.html#ESOCKTNOSUPPORT_2"><span class="Identifier">ESOCKTNOSUPPORT</span></a>, <a href="../asyncsync.html#newAsyncQueue,int"><span class="Identifier">newAsyncQueue</span></a>, <a href="../internal/asyncengine.html#setGlobalDispatcher,PDispatcher_2"><span class="Identifier">setGlobalDispatcher</span></a>, <a href="../asyncsync.html#AsyncQueue"><span class="Identifier">AsyncQueue</span></a>, <a href="../oserrno.html#EXDEV_2"><span class="Identifier">EXDEV</span></a>, <a href="../oserrno.html#EBADF_2"><span class="Identifier">EBADF</span></a>, <a href="../oserrno.html#EKEYREVOKED_2"><span class="Identifier">EKEYREVOKED</span></a>, <a href="../timer.html#micros,SomeIntegerI64_2"><span class="Identifier">micros</span></a>, <a href="../timer.html#microseconds,SomeIntegerI64_2"><span class="Identifier">microseconds</span></a>, <a href="../timer.html#hours,SomeIntegerI64_2"><span class="Identifier">hours</span></a>, <a href="../internal/asyncfutures.html#wait,InternalRaisesFuture_2"><span class="Identifier">wait</span></a>, <a href="../oserrno.html#ENETDOWN_2"><span class="Identifier">ENETDOWN</span></a>, <a href="../oserrno.html#EACCES_2"><span class="Identifier">EACCES</span></a>, <a href="../asyncsync.html#AsyncEvent"><span class="Identifier">AsyncEvent</span></a>, <a href="../asyncsync.html#AsyncEventQueue"><span class="Identifier">AsyncEventQueue</span></a>, <a href="../oserrno.html#ELOOP_2"><span class="Identifier">ELOOP</span></a>, <a href="../timer.html#InfiniteDuration_2"><span class="Identifier">InfiniteDuration</span></a>, <a href="../oserrno.html#ETIMEDOUT_2"><span class="Identifier">ETIMEDOUT</span></a>, <a href="../timer.html#>=,Duration,Duration_2"><span class="Identifier">>=</span></a>, <a href="../asyncsync.html#clear,AsyncQueue[T]"><span class="Identifier">clear</span></a>, <a href="../oserrno.html#EINVAL_2"><span class="Identifier">EINVAL</span></a>, <a href="../timer.html#==,Moment,Moment_2"><span class="Identifier">==</span></a>, <a href="../oserrno.html#EBADFD_2"><span class="Identifier">EBADFD</span></a>, <a href="../futures.html#Future_2"><span class="Identifier">Future</span></a>, <a href="../internal/asyncfutures.html#addCallback,FutureBase,CallbackFunc,pointer_2"><span class="Identifier">addCallback</span></a>, <a href="../asyncsync.html#len,AsyncQueue[T]"><span class="Identifier">len</span></a>, <a href="../futures.html#completed.t,typeFuture,static[string]_2"><span class="Identifier">completed</span></a>, <a href="../internal/asyncengine.html#PDispatcher_2"><span class="Identifier">PDispatcher</span></a>, <a href="../oserrno.html#ESRCH_2"><span class="Identifier">ESRCH</span></a>, <a href="../oserrno.html#EL2NSYNC_2"><span class="Identifier">EL2NSYNC</span></a>, <a href="../internal/asyncfutures.html#Finished.t_2"><span class="Identifier">Finished</span></a>, <a href="../timer.html#low.t,typedesc[Moment]_2"><span class="Identifier">low</span></a>, <a href="../asyncsync.html#popFirst,AsyncQueue[T]"><span class="Identifier">popFirst</span></a>, <a href="../oserrno.html#ESTRPIPE_2"><span class="Identifier">ESTRPIPE</span></a>, <a href="../timer.html#-=,Moment,Duration_2"><span class="Identifier">-=</span></a>, <a href="../asyncsync.html#contains,AsyncQueue[T],T"><span class="Identifier">contains</span></a>, <a href="../internal/asyncengine.html#getAsyncTimestamp,Duration_2"><span class="Identifier">getAsyncTimestamp</span></a>, <a href="../timer.html#div,Duration,SomeIntegerI64_2"><span class="Identifier">div</span></a>, <a href="../internal/asyncfutures.html#race,FutureBase,varargs[FutureBase]_2"><span class="Identifier">race</span></a>, <a href="../timer.html#Hour_2"><span class="Identifier">Hour</span></a>, <a href="../oserrno.html#EIDRM_2"><span class="Identifier">EIDRM</span></a>, <a href="../internal/asyncengine.html#removeReader2,AsyncFD_2"><span class="Identifier">removeReader2</span></a>, <a href="../asyncsync.html#EventQueueReader"><span class="Identifier">EventQueueReader</span></a>, <a href="../timer.html#secs,SomeIntegerI64_2"><span class="Identifier">secs</span></a>, <a href="../internal/asyncengine.html#getThreadDispatcher_2"><span class="Identifier">getThreadDispatcher</span></a>, <a href="../asyncsync.html#EventQueueKey"><span class="Identifier">EventQueueKey</span></a>, <a href="../internal/asyncfutures.html#futureContinue,FutureBase_2"><span class="Identifier">futureContinue</span></a>, <a href="../asyncsync.html#popFirstNoWait,AsyncQueue[T]"><span class="Identifier">popFirstNoWait</span></a>, <a href="../internal/asyncfutures.html#join,SomeFuture_2"><span class="Identifier">join</span></a>, <a href="../oserrno.html#ENOANO_2"><span class="Identifier">ENOANO</span></a>, <a href="../internal/asyncfutures.html#readError,FutureBase_2"><span class="Identifier">readError</span></a>, <a href="../futures.html#CallbackFunc_2"><span class="Identifier">CallbackFunc</span></a>, <a href="../srcloc.html#$,ptr.SrcLoc_2"><span class="Identifier">$</span></a>, <a href="../internal/asyncfutures.html#FutureStr_2"><span class="Identifier">FutureStr</span></a>, <a href="../asyncsync.html#addLastNoWait,AsyncQueue[T],T"><span class="Identifier">addLastNoWait</span></a>, <a href="../oserrno.html#ENOEXEC_2"><span class="Identifier">ENOEXEC</span></a>, <a href="../internal/asyncfutures.html#waitFor,InternalRaisesFuture[T: not void,E]_2"><span class="Identifier">waitFor</span></a>, <a href="../timer.html#high.t,typedesc[Moment]_2"><span class="Identifier">high</span></a>, <a href="../timer.html#Microsecond_2"><span class="Identifier">Microsecond</span></a>, <a href="../internal/asyncfutures.html#complete.t,Future[T],T_2"><span class="Identifier">complete</span></a>, <a href="../asyncsync.html#$,AsyncQueue[T]"><span class="Identifier">$</span></a>, <a href="../asyncsync.html#pairs.i,AsyncQueue[T]"><span class="Identifier">pairs</span></a>, <a href="../oserrno.html#ELIBBAD_2"><span class="Identifier">ELIBBAD</span></a>, <a href="../internal/asyncengine.html#callSoon,InternalAsyncCallback_2"><span class="Identifier">callSoon</span></a>, <a href="../oserrno.html#EOWNERDEAD_2"><span class="Identifier">EOWNERDEAD</span></a>, <a href="../internal/asyncfutures.html#oneIndex,varargs[Future[T]]_2"><span class="Identifier">oneIndex</span></a>, <a href="../oserrno.html#ERANGE_2"><span class="Identifier">ERANGE</span></a>, <a href="../internal/asyncfutures.html#done,FutureBase_2"><span class="Identifier">done</span></a>, <a href="../internal/asyncengine.html#clearTimer,TimerCallback_2"><span class="Identifier">clearTimer</span></a>, <a href="../asyncsync.html#popLastNoWait,AsyncQueue[T]"><span class="Identifier">popLastNoWait</span></a>, <a href="../oserrno.html#ENONET_2"><span class="Identifier">ENONET</span></a>, <a href="../futures.html#completed,FutureBase_2"><span class="Identifier">completed</span></a>, <a href="../internal/asyncengine.html#callSoon,CallbackFunc,pointer_2"><span class="Identifier">callSoon</span></a>, <a href="../asyncsync.html#release,AsyncLock"><span class="Identifier">release</span></a>, <a href="../internal/asyncfutures.html#cancelSoon.t,FutureBase,InternalAsyncCallback_2"><span class="Identifier">cancelSoon</span></a>, <a href="../oserrno.html#EMSGSIZE_2"><span class="Identifier">EMSGSIZE</span></a>, <a href="../oserrno.html#EBADMSG_2"><span class="Identifier">EBADMSG</span></a>, <a href="../oserrno.html#EILSEQ_2"><span class="Identifier">EILSEQ</span></a>, <a href="../oserrno.html#ENOPROTOOPT_2"><span class="Identifier">ENOPROTOOPT</span></a>, <a href="../timer.html#Day_2"><span class="Identifier">Day</span></a>, <a href="../internal/asyncfutures.html#allFutures,varargs[Future[T]]_2"><span class="Identifier">allFutures</span></a>, <a href="../asyncsync.html#empty,AsyncQueue[T]"><span class="Identifier">empty</span></a>, <a href="../timer.html#-,Duration,Duration_2"><span class="Identifier">-</span></a>, <a href="../internal/asyncfutures.html#complete.t,Future[void]_2"><span class="Identifier">complete</span></a>, <a href="../futures.html#FutureState_2"><span class="Identifier">FutureState</span></a>, <a href="../asyncsync.html#addFirstNoWait,AsyncQueue[T],T"><span class="Identifier">addFirstNoWait</span></a>, <a href="../oserrno.html#EBADR_2"><span class="Identifier">EBADR</span></a>, <a href="../timer.html#nanos,SomeIntegerI64_2"><span class="Identifier">nanos</span></a>, <a href="../futures.html#location,FutureBase_2"><span class="Identifier">location</span></a>, <a href="../futures.html#FutureDefect_2"><span class="Identifier">FutureDefect</span></a>, <a href="../oserrno.html#EDOTDOT_2"><span class="Identifier">EDOTDOT</span></a>, <a href="../oserrno.html#ENOBUFS_2"><span class="Identifier">ENOBUFS</span></a>, <a href="../asyncsync.html#put,AsyncQueue[T],T"><span class="Identifier">put</span></a>, <a href="../oserrno.html#EKEYREJECTED_2"><span class="Identifier">EKEYREJECTED</span></a>, <a href="../timer.html#<,Duration,Duration_2"><span class="Identifier"><</span></a>, <a href="../timer.html#Minute_2"><span class="Identifier">Minute</span></a>, <a href="../futures.html#error,FutureBase_2"><span class="Identifier">error</span></a>, <a href="../timer.html#epochNanoSeconds,Moment_2"><span class="Identifier">epochNanoSeconds</span></a>, <a href="../internal/asyncfutures.html#one,openArray[F]_2"><span class="Identifier">one</span></a>, <a href="../futures.html#CancelledError_2"><span class="Identifier">CancelledError</span></a>, <a href="../oserrno.html#EISDIR_2"><span class="Identifier">EISDIR</span></a>, <a href="../oserrno.html#EOVERFLOW_2"><span class="Identifier">EOVERFLOW</span></a>, <a href="../internal/asyncfutures.html#FutureSeq_2"><span class="Identifier">FutureSeq</span></a>, <a href="../internal/asyncfutures.html#cancelAndWait.t,FutureBase_2"><span class="Identifier">cancelAndWait</span></a>, <a href="../timer.html#micros,Duration_2"><span class="Identifier">micros</span></a>, <a href="../internal/asyncfutures.html#all,varargs[Future[T]]_2"><span class="Identifier">all</span></a>, <a href="../timer.html#-,Moment,Moment_2"><span class="Identifier">-</span></a>, <a href="../oserrno.html#ESRMNT_2"><span class="Identifier">ESRMNT</span></a>, <a href="../oserrno.html#ENOTEMPTY_2"><span class="Identifier">ENOTEMPTY</span></a>, <a href="../oserrno.html#EPROTO_2"><span class="Identifier">EPROTO</span></a>, <a href="../internal/asyncengine.html#TimerCallback_2"><span class="Identifier">TimerCallback</span></a>, <a href="../internal/asyncengine.html#TrackerBase_2"><span class="Identifier">TrackerBase</span></a>, <a href="../oserrno.html#ENOTRECOVERABLE_2"><span class="Identifier">ENOTRECOVERABLE</span></a>, <a href="../oserrno.html#EBFONT_2"><span class="Identifier">EBFONT</span></a>, <a href="../internal/asyncengine.html#callIdle,CallbackFunc_2"><span class="Identifier">callIdle</span></a>, <a href="../oserrno.html#EDOM_2"><span class="Identifier">EDOM</span></a>, <a href="../futures.html#value,Future[T: not void]_2"><span class="Identifier">value</span></a>, <a href="../timer.html#hours,Duration_2"><span class="Identifier">hours</span></a>, <a href="../internal/errors.html#AsyncError_2"><span class="Identifier">AsyncError</span></a>, <a href="../oserrno.html#EBADRQC_2"><span class="Identifier">EBADRQC</span></a>, <a href="../oserrno.html#ENODEV_2"><span class="Identifier">ENODEV</span></a>, <a href="../oserrno.html#ENFILE_2"><span class="Identifier">ENFILE</span></a>, <a href="../oserrno.html#ENOPKG_2"><span class="Identifier">ENOPKG</span></a>, <a href="../internal/asyncfutures.html#callback=,FutureBase,CallbackFunc,pointer_2"><span class="Identifier">callback=</span></a>, <a href="../oserrno.html#ECHRNG_2"><span class="Identifier">ECHRNG</span></a>, <a href="../internal/asyncfutures.html#wait,Future[T],SomeFuture_2"><span class="Identifier">wait</span></a>, <a href="../oserrno.html#EUNATCH_2"><span class="Identifier">EUNATCH</span></a>, <a href="../internal/asyncfutures.html#cancelAndSchedule.t,FutureBase_2"><span class="Identifier">cancelAndSchedule</span></a>, <a href="../futures.html#failed,FutureBase_2"><span class="Identifier">failed</span></a>, <a href="../timer.html#nanoseconds,SomeIntegerI64_2"><span class="Identifier">nanoseconds</span></a>, <a href="../oserrno.html#ERESTART_2"><span class="Identifier">ERESTART</span></a>, <a href="../timer.html#*,SomeIntegerI64,Duration_2"><span class="Identifier">*</span></a>, <a href="../oserrno.html#ETXTBSY_2"><span class="Identifier">ETXTBSY</span></a>, <a href="../internal/asyncengine.html#getTracker,string_2"><span class="Identifier">getTracker</span></a>, <a href="../internal/asyncfutures.html#newFutureStr.t,static[string]_2"><span class="Identifier">newFutureStr</span></a>, <a href="../asyncsync.html#full,AsyncQueue[T]"><span class="Identifier">full</span></a>, <a href="../oserrno.html#EMFILE_2"><span class="Identifier">EMFILE</span></a>, <a href="../internal/asyncfutures.html#orImpl.t,Future[T],Future[Y]_2"><span class="Identifier">orImpl</span></a>, <a href="../internal/asyncfutures.html#withTimeout,Future[T],int_2"><span class="Identifier">withTimeout</span></a>, <a href="../internal/asyncengine.html#addTimer,Moment,CallbackFunc,pointer_2"><span class="Identifier">addTimer</span></a>, <a href="../internal/asyncfutures.html#race,openArray[SomeFuture]_2"><span class="Identifier">race</span></a>, <a href="../oserrno.html#EUSERS_2"><span class="Identifier">EUSERS</span></a>, <a href="../oserrno.html#ENOTBLK_2"><span class="Identifier">ENOTBLK</span></a>, <a href="../oserrno.html#ENOTTY_2"><span class="Identifier">ENOTTY</span></a>, <a href="../oserrno.html#EISNAM_2"><span class="Identifier">EISNAM</span></a>, <a href="../oserrno.html#ENOSR_2"><span class="Identifier">ENOSR</span></a>, <a href="../internal/raisesfutures.html#init.t,typeInternalRaisesFuture[T,E],static[string]_2"><span class="Identifier">init</span></a>, <a href="../oserrno.html#EXFULL_2"><span class="Identifier">EXFULL</span></a>, <a href="../oserrno.html#EUCLEAN_2"><span class="Identifier">EUCLEAN</span></a>, <a href="../oserrno.html#EDESTADDRREQ_2"><span class="Identifier">EDESTADDRREQ</span></a>, <a href="../timer.html#+,Moment,Duration_2"><span class="Identifier">+</span></a>, <a href="../internal/asyncfutures.html#cancelSoon.t,FutureBase,CallbackFunc_2"><span class="Identifier">cancelSoon</span></a>, <a href="../timer.html#minutes,Duration_2"><span class="Identifier">minutes</span></a>, <a href="../internal/asyncfutures.html#cancel.t,FutureBase_2"><span class="Identifier">cancel</span></a>, <a href="../futures.html#FutureFlags_2"><span class="Identifier">FutureFlags</span></a>, <a href="../internal/asyncengine.html#getGlobalDispatcher_2"><span class="Identifier">getGlobalDispatcher</span></a>, <a href="../oserrno.html#ELIBEXEC_2"><span class="Identifier">ELIBEXEC</span></a>, <a href="../internal/asyncfutures.html#stepsAsync,int_2"><span class="Identifier">stepsAsync</span></a>, <a href="../internal/raisesfutures.html#error,InternalRaisesFuture[T,void]_2"><span class="Identifier">error</span></a>, <a href="../internal/asyncfutures.html#allFinished,varargs[F]_2"><span class="Identifier">allFinished</span></a>, <a href="../internal/asyncfutures.html#wait,InternalRaisesFuture,SomeFuture_2"><span class="Identifier">wait</span></a>, <a href="../asyncsync.html#clear,AsyncEvent"><span class="Identifier">clear</span></a>, <a href="../futures.html#value,Future[void]_2"><span class="Identifier">value</span></a>, <a href="../oserrno.html#EINPROGRESS_2"><span class="Identifier">EINPROGRESS</span></a>, <a href="../futures.html#completed.t,typeFuture,T,static[string]_2"><span class="Identifier">completed</span></a>, <a href="../oserrno.html#E2BIG_2"><span class="Identifier">E2BIG</span></a>, <a href="../timer.html#-=,Duration,Duration_2"><span class="Identifier">-=</span></a>, <a href="../internal/asyncengine.html#runForever_2"><span class="Identifier">runForever</span></a>, <a href="../oserrno.html#ENOMEDIUM_2"><span class="Identifier">ENOMEDIUM</span></a>, <a href="../timer.html#secs,Duration_2"><span class="Identifier">secs</span></a>, <a href="../asyncsync.html#AsyncQueueEmptyError"><span class="Identifier">AsyncQueueEmptyError</span></a>, <a href="../internal/asyncfutures.html#read,Future[void]_2"><span class="Identifier">read</span></a>, <a href="../internal/asyncfutures.html#waitFor,Future[void]_2"><span class="Identifier">waitFor</span></a>, <a href="../oserrno.html#EINTR_2"><span class="Identifier">EINTR</span></a>, <a href="../internal/asyncengine.html#unregisterAndCloseFd,AsyncFD_2"><span class="Identifier">unregisterAndCloseFd</span></a>, <a href="../oserrno.html#EBADSLT_2"><span class="Identifier">EBADSLT</span></a>, <a href="../internal/asyncfutures.html#or,InternalRaisesFuture[T,E1],InternalRaisesFuture[Y,E2]_2"><span class="Identifier">or</span></a>, <a href="../asyncsync.html#[],AsyncQueue[T],BackwardsIndex"><span class="Identifier">[]</span></a>, <a href="../timer.html#-,Moment,Duration_2"><span class="Identifier">-</span></a>, <a href="../oserrno.html#EALREADY_2"><span class="Identifier">EALREADY</span></a>, <a href="../timer.html#<,Moment,Moment_2"><span class="Identifier"><</span></a>, <a href="../oserrno.html#ENETRESET_2"><span class="Identifier">ENETRESET</span></a>, <a href="../timer.html#fastEpochTime_2"><span class="Identifier">fastEpochTime</span></a>, <a href="../asyncsync.html#waitEvents,AsyncEventQueue[T],EventQueueKey,int"><span class="Identifier">waitEvents</span></a>, <a href="../timer.html#seconds,SomeIntegerI64_2"><span class="Identifier">seconds</span></a>, <a href="../timer.html#isZero,Duration_2"><span class="Identifier">isZero</span></a>, <a href="../internal/asyncfutures.html#FuturePendingError_2"><span class="Identifier">FuturePendingError</span></a>, <a href="../oserrno.html#EPIPE_2"><span class="Identifier">EPIPE</span></a>, <a href="../asyncsync.html#AsyncLockError"><span class="Identifier">AsyncLockError</span></a>, <a href="../futures.html#InternalFutureBase_2"><span class="Identifier">InternalFutureBase</span></a>, <a href="../asyncsync.html#getNoWait,AsyncQueue[T]"><span class="Identifier">getNoWait</span></a>, <a href="../internal/asyncfutures.html#allFutures,varargs[InternalRaisesFuture[T,E]]_2"><span class="Identifier">allFutures</span></a>, <a href="../asyncsync.html#len,AsyncEventQueue"><span class="Identifier">len</span></a>, <a href="../internal/asyncfutures.html#race,openArray[FutureBase]_2"><span class="Identifier">race</span></a>, <a href="../oserrno.html#ENAVAIL_2"><span class="Identifier">ENAVAIL</span></a>, <a href="../oserrno.html#EPFNOSUPPORT_2"><span class="Identifier">EPFNOSUPPORT</span></a>, <a href="../internal/asyncfutures.html#wait,Future[T]_2"><span class="Identifier">wait</span></a>, <a href="../oserrno.html#EMULTIHOP_2"><span class="Identifier">EMULTIHOP</span></a>, <a href="../internal/asyncfutures.html#read,InternalRaisesFuture[T: not void,E]_2"><span class="Identifier">read</span></a>, <a href="../internal/asyncfutures.html#asyncSpawn,Future[void]_2"><span class="Identifier">asyncSpawn</span></a>, <a href="../internal/asyncfutures.html#removeCallback,FutureBase,CallbackFunc_2"><span class="Identifier">removeCallback</span></a>, <a href="../oserrno.html#EAGAIN_2"><span class="Identifier">EAGAIN</span></a>, <a href="../internal/asyncengine.html#raiseOsDefect,OSErrorCode,string_2"><span class="Identifier">raiseOsDefect</span></a>, <a href="../internal/asyncengine.html#trackerCounterKeys.i,PDispatcher_2"><span class="Identifier">trackerCounterKeys</span></a>, <a href="../futures.html#FutureFlag_2"><span class="Identifier">FutureFlag</span></a>, <a href="../internal/asyncfutures.html#read,InternalRaisesFuture[void,E]_2"><span class="Identifier">read</span></a>, <a href="../internal/asyncfutures.html#removeCallback,FutureBase,CallbackFunc,pointer_2"><span class="Identifier">removeCallback</span></a>, <a href="../internal/asyncengine.html#TrackerCounter_2"><span class="Identifier">TrackerCounter</span></a>, <a href="../internal/asyncmacro.html#async.m,untyped_2"><span class="Identifier">async</span></a>, <a href="../asyncsync.html#AsyncLock"><span class="Identifier">AsyncLock</span></a>, <a href="../timer.html#init,typedesc[Moment],int64,Duration_2"><span class="Identifier">init</span></a>, <a href="../asyncsync.html#popLast,AsyncQueue[T]"><span class="Identifier">popLast</span></a>, <a href="../internal/asyncmacro.html#async.m,untyped,untyped_2"><span class="Identifier">async</span></a>, <a href="../oserrno.html#EREMCHG_2"><span class="Identifier">EREMCHG</span></a>, <a href="../futures.html#finished,FutureBase_2"><span class="Identifier">finished</span></a>, <a href="../asyncsync.html#fire,AsyncEvent"><span class="Identifier">fire</span></a>, <a href="../oserrno.html#ENXIO_2"><span class="Identifier">ENXIO</span></a>, <a href="../internal/asyncfutures.html#or,Future[T],Future[Y]_2"><span class="Identifier">or</span></a>, <a href="../timer.html#seconds,Duration_2"><span class="Identifier">seconds</span></a>, <a href="../internal/asyncfutures.html#noCancel,F_2"><span class="Identifier">noCancel</span></a>, <a href="../timer.html#low.t,typedesc[Duration]_2"><span class="Identifier">low</span></a>, <a href="../internal/asyncengine.html#AsyncFD_2"><span class="Identifier">AsyncFD</span></a>, <a href="../oserrno.html#ECHILD_2"><span class="Identifier">ECHILD</span></a>, <a href="../futures.html#init.t,typeFuture[T],static[string],static[FutureFlags]_2"><span class="Identifier">init</span></a>, <a href="../oserrno.html#ECONNABORTED_2"><span class="Identifier">ECONNABORTED</span></a>, <a href="../futures.html#state,FutureBase_2"><span class="Identifier">state</span></a>, <a href="../oserrno.html#ENOTDIR_2"><span class="Identifier">ENOTDIR</span></a>, <a href="../timer.html#>,Duration,Duration_2"><span class="Identifier">></span></a>, <a href="../internal/asyncengine.html#callIdle,InternalAsyncCallback_2"><span class="Identifier">callIdle</span></a>, <a href="../internal/asyncengine.html#removeTimer,int64,CallbackFunc,pointer_2"><span class="Identifier">removeTimer</span></a>, <a href="../internal/asyncfutures.html#LocCreateIndex.t_2"><span class="Identifier">LocCreateIndex</span></a>, <a href="../internal/asyncengine.html#setTimer,Moment,CallbackFunc,pointer_2"><span class="Identifier">setTimer</span></a>, <a href="../oserrno.html#ETIME_2"><span class="Identifier">ETIME</span></a>, <a href="../internal/raisesfutures.html#InternalRaisesFuture_2"><span class="Identifier">InternalRaisesFuture</span></a>, <a href="../oserrno.html#EBADE_2"><span class="Identifier">EBADE</span></a>, <a href="../oserrno.html#EDEADLK_2"><span class="Identifier">EDEADLK</span></a>, <a href="../asyncsync.html#items.i,AsyncQueue[T]"><span class="Identifier">items</span></a>, <a href="../internal/asyncfutures.html#cancelSoon.t,FutureBase,CallbackFunc,pointer_2"><span class="Identifier">cancelSoon</span></a>, <a href="../internal/asyncfutures.html#asyncCheck,Future[T]_2"><span class="Identifier">asyncCheck</span></a>, <a href="../internal/asyncengine.html#unregister2,AsyncFD_2"><span class="Identifier">unregister2</span></a>, <a href="../timer.html#Duration_2"><span class="Identifier">Duration</span></a>, <a href="../oserrno.html#ELNRNG_2"><span class="Identifier">ELNRNG</span></a>, <a href="../asyncsync.html#locked,AsyncLock"><span class="Identifier">locked</span></a>, <a href="../internal/asyncfutures.html#join,FutureBase_2"><span class="Identifier">join</span></a>, <a href="../timer.html#millis,SomeIntegerI64_2"><span class="Identifier">millis</span></a>, <a href="../oserrno.html#EMEDIUMTYPE_2"><span class="Identifier">EMEDIUMTYPE</span></a>, <a href="../internal/raisesfutures.html#readError,InternalRaisesFuture[T,void]_2"><span class="Identifier">readError</span></a>, <a href="../timer.html#ZeroDuration_2"><span class="Identifier">ZeroDuration</span></a>, <a href="../internal/asyncfutures.html#newFutureSeq.t,static[string]_2"><span class="Identifier">newFutureSeq</span></a>, <a href="../asyncsync.html#newAsyncEventQueue,int"><span class="Identifier">newAsyncEventQueue</span></a>, <a href="../internal/asyncfutures.html#asyncDiscard,Future[T]_2"><span class="Identifier">asyncDiscard</span></a>, <a href="../futures.html#InternalAsyncCallback_2"><span class="Identifier">InternalAsyncCallback</span></a>, <a href="../oserrno.html#ENETUNREACH_2"><span class="Identifier">ENETUNREACH</span></a>, <a href="../asyncsync.html#get,AsyncQueue[T]"><span class="Identifier">get</span></a>, <a href="../oserrno.html#ENOSYS_2"><span class="Identifier">ENOSYS</span></a>, <a href="../asyncsync.html#acquire,AsyncLock"><span class="Identifier">acquire</span></a>, <a href="../oserrno.html#ELIBSCN_2"><span class="Identifier">ELIBSCN</span></a>, <a href="../oserrno.html#EIO_2"><span class="Identifier">EIO</span></a>, <a href="../oserrno.html#EROFS_2"><span class="Identifier">EROFS</span></a>, <a href="../asyncsync.html#AsyncEventQueueFullError"><span class="Identifier">AsyncEventQueueFullError</span></a>, <a href="../oserrno.html#ELIBMAX_2"><span class="Identifier">ELIBMAX</span></a>, <a href="../asyncsync.html#newAsyncEvent"><span class="Identifier">newAsyncEvent</span></a>, <a href="../oserrno.html#ENOLCK_2"><span class="Identifier">ENOLCK</span></a>, <a href="../oserrno.html#EFBIG_2"><span class="Identifier">EFBIG</span></a>, <a href="../oserrno.html#EL2HLT_2"><span class="Identifier">EL2HLT</span></a>, <a href="../asyncsync.html#AsyncQueueFullError"><span class="Identifier">AsyncQueueFullError</span></a>, <a href="../oserrno.html#EOPNOTSUPP_2"><span class="Identifier">EOPNOTSUPP</span></a>, <a href="../asyncsync.html#emit,AsyncEventQueue[T],T"><span class="Identifier">emit</span></a>, <a href="../internal/asyncfutures.html#tryCancel.t,FutureBase_2"><span class="Identifier">tryCancel</span></a>, <a href="../internal/asyncengine.html#poll_2"><span class="Identifier">poll</span></a>, <a href="../asyncsync.html#readerOverflow.t,AsyncEventQueue,EventQueueReader"><span class="Identifier">readerOverflow</span></a>, <a href="../futures.html#flags,FutureBase_2"><span class="Identifier">flags</span></a>, <a href="../internal/asyncengine.html#register2,AsyncFD_2"><span class="Identifier">register2</span></a>, <a href="../internal/asyncfutures.html#LocCompleteIndex.t_2"><span class="Identifier">LocCompleteIndex</span></a>, <a href="../asyncsync.html#newAsyncLock"><span class="Identifier">newAsyncLock</span></a>, <a href="../internal/asyncfutures.html#sleepAsync,Duration_2"><span class="Identifier">sleepAsync</span></a>, <a href="../timer.html#days,Duration_2"><span class="Identifier">days</span></a>, <a href="../oserrno.html#ENOSTR_2"><span class="Identifier">ENOSTR</span></a>, <a href="../oserrno.html#EADDRINUSE_2"><span class="Identifier">EADDRINUSE</span></a>, <a href="../internal/asyncfutures.html#one,F,varargs[F]_2"><span class="Identifier">one</span></a>, <a href="../asyncsync.html#size,AsyncQueue[T]"><span class="Identifier">size</span></a>, <a href="../internal/asyncfutures.html#newFuture.t,static[string],static[FutureFlags]_2"><span class="Identifier">newFuture</span></a>, <a href="../timer.html#now,typedesc[Moment]_2"><span class="Identifier">now</span></a>, <a href="../asyncsync.html#putNoWait,AsyncQueue[T],T"><span class="Identifier">putNoWait</span></a>, <a href="../timer.html#Nanosecond_2"><span class="Identifier">Nanosecond</span></a>, <a href="../asyncsync.html#wait,AsyncEvent"><span class="Identifier">wait</span></a>, <a href="../oserrno.html#ESTALE_2"><span class="Identifier">ESTALE</span></a>, <a href="../internal/raisesfutures.html#Raising.m,typedesc[Future[T]],typed_2"><span class="Identifier">Raising</span></a>, <a href="../internal/asyncmacro.html#await.t,Future[T]_2"><span class="Identifier">await</span></a>, <a href="../oserrno.html#ENODATA_2"><span class="Identifier">ENODATA</span></a>, <a href="../internal/raisesfutures.html#init.t,typeInternalRaisesFuture[T,E],static[string],static[FutureFlags]_2"><span class="Identifier">init</span></a>, <a href="../timer.html#+,Duration,Duration_2"><span class="Identifier">+</span></a>, <a href="../timer.html#minutes,SomeIntegerI64_2"><span class="Identifier">minutes</span></a>, <a href="../oserrno.html#ERFKILL_2"><span class="Identifier">ERFKILL</span></a>, <a href="../futures.html#cancelled,FutureBase_2"><span class="Identifier">cancelled</span></a>, <a href="../internal/asyncengine.html#toException,OSErrorCode_2"><span class="Identifier">toException</span></a>, <a href="../oserrno.html#EDEADLOCK_2"><span class="Identifier">EDEADLOCK</span></a>, <a href="../internal/asyncfutures.html#allFutures,varargs[FutureBase]_2"><span class="Identifier">allFutures</span></a>, <a href="../internal/asyncengine.html#MaxEventsCount_2"><span class="Identifier">MaxEventsCount</span></a>, <a href="../internal/asyncfutures.html#wait,Future[T],int_2"><span class="Identifier">wait</span></a>, <a href="../internal/asyncfutures.html#read,Future[T: not void]_2"><span class="Identifier">read</span></a>, <a href="../internal/asyncengine.html#raiseAsDefect,ref.Exception,string_2"><span class="Identifier">raiseAsDefect</span></a>, <a href="../oserrno.html#ENOSPC_2"><span class="Identifier">ENOSPC</span></a>, <a href="../timer.html#Millisecond_2"><span class="Identifier">Millisecond</span></a>, <a href="../asyncsync.html#addLast,AsyncQueue[T],T"><span class="Identifier">addLast</span></a>, <a href="../timer.html#>,Moment,Moment_2"><span class="Identifier">></span></a>, <a href="../internal/asyncengine.html#addReader2,AsyncFD,CallbackFunc,pointer_2"><span class="Identifier">addReader2</span></a>, <a href="../futures.html#failed.t,typeFuture[T],ref.CatchableError,static[string]_2"><span class="Identifier">failed</span></a>, <a href="../oserrno.html#ENOTUNIQ_2"><span class="Identifier">ENOTUNIQ</span></a>, <a href="../internal/asyncengine.html#addTracker,string,T_2"><span class="Identifier">addTracker</span></a>, <a href="../internal/asyncfutures.html#callback=,FutureBase,CallbackFunc_2"><span class="Identifier">callback=</span></a>, <a href="../oserrno.html#ENOTSOCK_2"><span class="Identifier">ENOTSOCK</span></a>, <a href="../oserrno.html#ECONNREFUSED_2"><span class="Identifier">ECONNREFUSED</span></a>, <a href="../timer.html#high.t,typedesc[Duration]_2"><span class="Identifier">high</span></a>, <a href="../oserrno.html#ENOTNAM_2"><span class="Identifier">ENOTNAM</span></a>, <a href="../timer.html#nanos,Duration_2"><span class="Identifier">nanos</span></a>, <a href="../internal/asyncengine.html#addWriter2,AsyncFD,CallbackFunc,pointer_2"><span class="Identifier">addWriter2</span></a>, <a href="../timer.html#toString_2"><span class="Identifier">toString</span></a>, <a href="../internal/asyncengine.html#removeTimer,uint64,CallbackFunc,pointer_2"><span class="Identifier">removeTimer</span></a>, <a href="../internal/asyncengine.html#internalCallTick,CallbackFunc_2"><span class="Identifier">internalCallTick</span></a>, <a href="../oserrno.html#EL3HLT_2"><span class="Identifier">EL3HLT</span></a>, <a href="../internal/asyncengine.html#closeHandle,AsyncFD,CallbackFunc_2"><span class="Identifier">closeHandle</span></a>, <a href="../oserrno.html#EL3RST_2"><span class="Identifier">EL3RST</span></a>, <a href="../oserrno.html#EADV_2"><span class="Identifier">EADV</span></a>, <a href="../timer.html#*,Duration,SomeIntegerI64_2"><span class="Identifier">*</span></a>, <a href="../oserrno.html#ENAMETOOLONG_2"><span class="Identifier">ENAMETOOLONG</span></a>, <a href="../internal/asyncengine.html#internalCallTick,CallbackFunc,pointer_2"><span class="Identifier">internalCallTick</span></a>, <a href="../transports/stream.html#localAddress2,StreamTransport"><span class="Identifier">localAddress2</span></a>, <a href="../transports/stream.html#close,StreamServer"><span class="Identifier">close</span></a>, <a href="../transports/stream.html#createStreamServer,TransportAddress,set[ServerFlags],ref.T,AsyncFD,int,int,StreamServer,TransportInitCallback"><span class="Identifier">createStreamServer</span></a>, <a href="../transports/stream.html#createStreamServer,StreamCallback2,Port,Opt[IpAddress],set[ServerFlags],AsyncFD,int,int,StreamServer,TransportInitCallback,pointer"><span class="Identifier">createStreamServer</span></a>, <a href="../transports/stream.html#start2,StreamServer"><span class="Identifier">start2</span></a>, <a href="../transports/stream.html#StreamCallback2"><span class="Identifier">StreamCallback2</span></a>, <a href="../transports/stream.html#closeWait,StreamServer"><span class="Identifier">closeWait</span></a>, <a href="../transports/stream.html#fromPipe,AsyncFD,StreamTransport"><span class="Identifier">fromPipe</span></a>, <a href="../transports/stream.html#readLine,StreamTransport,int,string"><span class="Identifier">readLine</span></a>, <a href="../transports/stream.html#TransportFlags"><span class="Identifier">TransportFlags</span></a>, <a href="../transports/stream.html#ReadMessagePredicate"><span class="Identifier">ReadMessagePredicate</span></a>, <a href="../transports/stream.html#TransportInitCallback"><span class="Identifier">TransportInitCallback</span></a>, <a href="../transports/stream.html#localAddress,StreamServer"><span class="Identifier">localAddress</span></a>, <a href="../transports/stream.html#createStreamServer,TransportAddress,StreamCallback2,set[ServerFlags],ref.T,AsyncFD,int,int,StreamServer,TransportInitCallback"><span class="Identifier">createStreamServer</span></a>, <a href="../transports/stream.html#running,StreamTransport"><span class="Identifier">running</span></a>, <a href="../transports/stream.html#StreamTransportTrackerName"><span class="Identifier">StreamTransportTrackerName</span></a>, <a href="../transports/stream.html#StreamCallback"><span class="Identifier">StreamCallback</span></a>, <a href="../transports/stream.html#getUserData,StreamServer"><span class="Identifier">getUserData</span></a>, <a href="../transports/stream.html#createStreamServer,TransportAddress,set[ServerFlags],AsyncFD,int,int,StreamServer,TransportInitCallback,pointer"><span class="Identifier">createStreamServer</span></a>, <a href="../transports/stream.html#connect,TransportAddress,StreamTransport,set[SocketFlags]"><span class="Identifier">connect</span></a>, <a href="../transports/stream.html#join,StreamServer"><span class="Identifier">join</span></a>, <a href="../transports/stream.html#finished,StreamTransport"><span class="Identifier">finished</span></a>, <a href="../transports/stream.html#readExactly,StreamTransport,pointer,int"><span class="Identifier">readExactly</span></a>, <a href="../transports/stream.html#start,StreamServer"><span class="Identifier">start</span></a>, <a href="../transports/stream.html#localAddress,StreamTransport"><span class="Identifier">localAddress</span></a>, <a href="../transports/stream.html#TransportKind"><span class="Identifier">TransportKind</span></a>, <a href="../transports/stream.html#write,StreamTransport,string,int"><span class="Identifier">write</span></a>, <a href="../transports/stream.html#write,StreamTransport,seq[T],int"><span class="Identifier">write</span></a>, <a href="../transports/stream.html#writeFile,StreamTransport,int,uint,int"><span class="Identifier">writeFile</span></a>, <a href="../transports/stream.html#SocketFlags"><span class="Identifier">SocketFlags</span></a>, <a href="../transports/stream.html#atEof,StreamTransport"><span class="Identifier">atEof</span></a>, <a href="../transports/stream.html#createStreamServer,Port,Opt[IpAddress],set[ServerFlags],ref.T,AsyncFD,int,int,StreamServer,TransportInitCallback"><span class="Identifier">createStreamServer</span></a>, <a href="../transports/stream.html#readMessage,StreamTransport,ReadMessagePredicate"><span class="Identifier">readMessage</span></a>, <a href="../transports/stream.html#shutdownWait,StreamTransport"><span class="Identifier">shutdownWait</span></a>, <a href="../transports/stream.html#closed,StreamServer"><span class="Identifier">closed</span></a>, <a href="../transports/stream.html#StreamServer"><span class="Identifier">StreamServer</span></a>, <a href="../transports/stream.html#accept,StreamServer"><span class="Identifier">accept</span></a>, <a href="../transports/stream.html#remoteAddress2,StreamTransport"><span class="Identifier">remoteAddress2</span></a>, <a href="../transports/stream.html#createStreamServer,Port,Opt[IpAddress],set[ServerFlags],AsyncFD,int,int,StreamServer,TransportInitCallback,pointer"><span class="Identifier">createStreamServer</span></a>, <a href="../transports/stream.html#close,StreamTransport"><span class="Identifier">close</span></a>, <a href="../transports/stream.html#readOnce,StreamTransport,pointer,int"><span class="Identifier">readOnce</span></a>, <a href="../transports/stream.html#DefaultBacklogSize"><span class="Identifier">DefaultBacklogSize</span></a>, <a href="../transports/stream.html#write,StreamTransport,pointer,int"><span class="Identifier">write</span></a>, <a href="../transports/stream.html#createStreamServer,StreamCallback2,Port,Opt[IpAddress],set[ServerFlags],ref.T,AsyncFD,int,int,StreamServer,TransportInitCallback"><span class="Identifier">createStreamServer</span></a>, <a href="../transports/stream.html#closed,StreamTransport"><span class="Identifier">closed</span></a>, <a href="../transports/stream.html#connect,TransportAddress,StreamTransport,set[TransportFlags]"><span class="Identifier">connect</span></a>, <a href="../transports/stream.html#toUnchecked.t,untyped"><span class="Identifier">toUnchecked</span></a>, <a href="../transports/stream.html#consume,StreamTransport"><span class="Identifier">consume</span></a>, <a href="../transports/stream.html#toException,OSErrorCode_3"><span class="Identifier">toException</span></a>, <a href="../transports/stream.html#readUntil,StreamTransport,pointer,int,seq[byte]"><span class="Identifier">readUntil</span></a>, <a href="../transports/stream.html#read,StreamTransport"><span class="Identifier">read</span></a>, <a href="../transports/stream.html#createStreamServer,TransportAddress,StreamCallback,set[ServerFlags],ref.T,AsyncFD,int,int,StreamServer,TransportInitCallback"><span class="Identifier">createStreamServer</span></a>, <a href="../transports/stream.html#stop2,StreamServer"><span class="Identifier">stop2</span></a>, <a href="../transports/stream.html#createStreamServer,TransportAddress,StreamCallback2,set[ServerFlags],AsyncFD,int,int,StreamServer,TransportInitCallback,pointer"><span class="Identifier">createStreamServer</span></a>, <a href="../transports/stream.html#consume,StreamTransport,int"><span class="Identifier">consume</span></a>, <a href="../transports/stream.html#failed,StreamTransport"><span class="Identifier">failed</span></a>, <a href="../transports/stream.html#createStreamServer,TransportAddress,StreamCallback,set[ServerFlags],AsyncFD,int,int,StreamServer,TransportInitCallback,pointer"><span class="Identifier">createStreamServer</span></a>, <a href="../transports/stream.html#closeWait,StreamTransport"><span class="Identifier">closeWait</span></a>, <a href="../transports/stream.html#join,StreamTransport"><span class="Identifier">join</span></a>, <a href="../transports/stream.html#StreamServerTrackerName"><span class="Identifier">StreamServerTrackerName</span></a>, <a href="../transports/stream.html#StreamTransport"><span class="Identifier">StreamTransport</span></a>, <a href="../transports/stream.html#stop,StreamServer"><span class="Identifier">stop</span></a>, <a href="../transports/stream.html#remoteAddress,StreamTransport"><span class="Identifier">remoteAddress</span></a>, <a href="../transports/stream.html#fromPipe2,AsyncFD,StreamTransport"><span class="Identifier">fromPipe2</span></a>, <a href="../transports/stream.html#read,StreamTransport,int"><span class="Identifier">read</span></a>, <a href="../osdefs.html#==,SocketHandle,SocketHandle"><span class="Identifier">==</span></a>, <a href="../transports/common.html#DualStackType"><span class="Identifier">DualStackType</span></a>, <a href="../transports/common.html#toHex,TransportAddress"><span class="Identifier">toHex</span></a>, <a href="../transports/common.html#getAutoAddress,Port"><span class="Identifier">getAutoAddress</span></a>, <a href="../transports/common.html#address,TransportAddress"><span class="Identifier">address</span></a>, <a href="../transports/common.html#==,TransportAddress,TransportAddress"><span class="Identifier">==</span></a>, <a href="../transports/common.html#resolveTAddress,string"><span class="Identifier">resolveTAddress</span></a>, <a href="../transports/common.html#TransportAddress"><span class="Identifier">TransportAddress</span></a>, <a href="../transports/common.html#TransportIncompleteError"><span class="Identifier">TransportIncompleteError</span></a>, <a href="../transports/common.html#getAutoAddresses,Port,Port"><span class="Identifier">getAutoAddresses</span></a>, <a href="../internal/asyncengine.html#==,AsyncFD,AsyncFD_3"><span class="Identifier">==</span></a>, <a href="../transports/common.html#initTAddress,string,int"><span class="Identifier">initTAddress</span></a>, <a href="../transports/common.html#AddressFamily"><span class="Identifier">AddressFamily</span></a>, <a href="../transports/common.html#ServerStatus"><span class="Identifier">ServerStatus</span></a>, <a href="../transports/common.html#host,TransportAddress"><span class="Identifier">host</span></a>, <a href="../transports/common.html#getTransportOsError.t,OSErrorCode"><span class="Identifier">getTransportOsError</span></a>, <a href="../transports/common.html#getTransportOsError.t,cint"><span class="Identifier">getTransportOsError</span></a>, <a href="../timer.html#$,Duration_3"><span class="Identifier">$</span></a>, <a href="../transports/common.html#getTransportTooManyError.t"><span class="Identifier">getTransportTooManyError</span></a>, <a href="../transports/common.html#windowsAnyAddressFix,TransportAddress"><span class="Identifier">windowsAnyAddressFix</span></a>, <a href="../transports/common.html#setDualstack,AsyncFD,DualStackType"><span class="Identifier">setDualstack</span></a>, <a href="../transports/common.html#toIpAddress,TransportAddress"><span class="Identifier">toIpAddress</span></a>, <a href="../transports/common.html#$,TransportAddress"><span class="Identifier">$</span></a>, <a href="../srcloc.html#$,ptr.SrcLoc_3"><span class="Identifier">$</span></a>, <a href="../transports/common.html#TransportNoSupport"><span class="Identifier">TransportNoSupport</span></a>, <a href="../transports/common.html#TransportUseClosedError"><span class="Identifier">TransportUseClosedError</span></a>, <a href="../transports/common.html#TransportUseEofError"><span class="Identifier">TransportUseEofError</span></a>, <a href="../transports/common.html#ServerFlags"><span class="Identifier">ServerFlags</span></a>, <a href="../transports/common.html#resolveTAddress,string,Domain"><span class="Identifier">resolveTAddress</span></a>, <a href="../transports/common.html#TransportAbortedError"><span class="Identifier">TransportAbortedError</span></a>, <a href="../timer.html#==,Duration,Duration_3"><span class="Identifier">==</span></a>, <a href="../transports/common.html#initTAddress,string,Port"><span class="Identifier">initTAddress</span></a>, <a href="../timer.html#$,Moment_3"><span class="Identifier">$</span></a>, <a href="../transports/common.html#setDualstack,AsyncFD,AddressFamily,DualStackType"><span class="Identifier">setDualstack</span></a>, <a href="../transports/common.html#resolveTAddress,string,Port"><span class="Identifier">resolveTAddress</span></a>, <a href="../transports/common.html#getConnectionAbortedError.t,OSErrorCode"><span class="Identifier">getConnectionAbortedError</span></a>, <a href="../transports/common.html#toSAddr,TransportAddress,Sockaddr_storage,SockLen"><span class="Identifier">toSAddr</span></a>, <a href="../transports/common.html#TransportError"><span class="Identifier">TransportError</span></a>, <a href="../transports/common.html#AnyAddress"><span class="Identifier">AnyAddress</span></a>, <a href="../transports/common.html#resolveTAddress,string,AddressFamily"><span class="Identifier">resolveTAddress</span></a>, <a href="../osdefs.html#==,SocketHandle,int"><span class="Identifier">==</span></a>, <a href="../transports/common.html#getDomain,AsyncFD"><span class="Identifier">getDomain</span></a>, <a href="../transports/common.html#getServerUseClosedError.t"><span class="Identifier">getServerUseClosedError</span></a>, <a href="../transports/common.html#resolveTAddress,string,Port,IpAddressFamily"><span class="Identifier">resolveTAddress</span></a>, <a href="../transports/common.html#fromSAddr,ptr.Sockaddr_storage,SockLen,TransportAddress"><span class="Identifier">fromSAddr</span></a>, <a href="../transports/common.html#TransportTooManyError"><span class="Identifier">TransportTooManyError</span></a>, <a href="../transports/common.html#checkClosed.t,untyped,untyped"><span class="Identifier">checkClosed</span></a>, <a href="../transports/common.html#ServerCommand"><span class="Identifier">ServerCommand</span></a>, <a href="../transports/common.html#getTransportUseClosedError.t"><span class="Identifier">getTransportUseClosedError</span></a>, <a href="../transports/common.html#getTransportError.t,OSErrorCode"><span class="Identifier">getTransportError</span></a>, <a href="../transports/common.html#resolveTAddress,string,Port,Domain"><span class="Identifier">resolveTAddress</span></a>, <a href="../transports/common.html#initTAddress,string"><span class="Identifier">initTAddress</span></a>, <a href="../transports/common.html#raiseTransportOsError,OSErrorCode"><span class="Identifier">raiseTransportOsError</span></a>, <a href="../transports/common.html#TransportOsError"><span class="Identifier">TransportOsError</span></a>, <a href="../transports/common.html#getDomain,TransportAddress"><span class="Identifier">getDomain</span></a>, <a href="../transports/common.html#resolveTAddress,string,Port,AddressFamily"><span class="Identifier">resolveTAddress</span></a>, <a href="../transports/common.html#checkWriteEof.t,untyped,untyped"><span class="Identifier">checkWriteEof</span></a>, <a href="../transports/common.html#resolveTAddress,string,IpAddressFamily"><span class="Identifier">resolveTAddress</span></a>, <a href="../transports/common.html#isAvailable,AddressFamily"><span class="Identifier">isAvailable</span></a>, <a href="../transports/common.html#SocketServer"><span class="Identifier">SocketServer</span></a>, <a href="../timer.html#==,Moment,Moment_3"><span class="Identifier">==</span></a>, <a href="../transports/common.html#DefaultDatagramBufferSize"><span class="Identifier">DefaultDatagramBufferSize</span></a>, <a href="../transports/common.html#getError.t,untyped"><span class="Identifier">getError</span></a>, <a href="../transports/common.html#TransportAddressError"><span class="Identifier">TransportAddressError</span></a>, <a href="../transports/common.html#TransportLimitError"><span class="Identifier">TransportLimitError</span></a>, <a href="../transports/common.html#DefaultStreamBufferSize"><span class="Identifier">DefaultStreamBufferSize</span></a>, <a href="../transports/common.html#getConnectionAbortedError.t,string"><span class="Identifier">getConnectionAbortedError</span></a>, <a href="../transports/common.html#raiseTransportError,OSErrorCode"><span class="Identifier">raiseTransportError</span></a>, <a href="../transports/common.html#AnyAddress6"><span class="Identifier">AnyAddress6</span></a>, <a href="../transports/common.html#checkClosed.t,untyped"><span class="Identifier">checkClosed</span></a>, <a href="../transports/common.html#TransportState"><span class="Identifier">TransportState</span></a>, <a href="../transports/common.html#initTAddress,IpAddress,Port"><span class="Identifier">initTAddress</span></a>
|
|
</dl></div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="twelve-columns footer">
|
|
<span class="nim-sprite"></span>
|
|
<br/>
|
|
<small style="color: var(--hint);">Made with Nim. Generated: 2024-11-28 08:22:47 UTC</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|