use single backtick (#17166)
This commit is contained in:
parent
c274e67198
commit
47c078e29c
12 changed files with 305 additions and 305 deletions
|
|
@ -24,14 +24,14 @@ type
|
|||
error*: ref Exception
|
||||
|
||||
proc newFutureStream*[T](fromProc = "unspecified"): FutureStream[T] =
|
||||
## Create a new ``FutureStream``. This future's callback is activated when
|
||||
## Create a new `FutureStream`. This future's callback is activated when
|
||||
## two events occur:
|
||||
##
|
||||
## * New data is written into the future stream.
|
||||
## * The future stream is completed (this means that no more data will be
|
||||
## written).
|
||||
##
|
||||
## Specifying ``fromProc``, which is a string specifying the name of the proc
|
||||
## Specifying `fromProc`, which is a string specifying the name of the proc
|
||||
## that this future belongs to, is a good habit as it helps with debugging.
|
||||
##
|
||||
## **Note:** The API of FutureStream is still new and so has a higher
|
||||
|
|
@ -40,14 +40,14 @@ proc newFutureStream*[T](fromProc = "unspecified"): FutureStream[T] =
|
|||
result.queue = initDeque[T]()
|
||||
|
||||
proc complete*[T](future: FutureStream[T]) =
|
||||
## Completes a ``FutureStream`` signalling the end of data.
|
||||
## Completes a `FutureStream` signalling the end of data.
|
||||
assert(future.error == nil, "Trying to complete failed stream")
|
||||
future.finished = true
|
||||
if not future.cb.isNil:
|
||||
future.cb()
|
||||
|
||||
proc fail*[T](future: FutureStream[T], error: ref Exception) =
|
||||
## Completes ``future`` with ``error``.
|
||||
## Completes `future` with `error`.
|
||||
assert(not future.finished)
|
||||
future.finished = true
|
||||
future.error = error
|
||||
|
|
@ -60,9 +60,9 @@ proc `callback=`*[T](future: FutureStream[T],
|
|||
## future stream.
|
||||
##
|
||||
## The callback is also called when the future is completed. So you should
|
||||
## use ``finished`` to check whether data is available.
|
||||
## use `finished` to check whether data is available.
|
||||
##
|
||||
## If the future stream already has data or is finished then ``cb`` will be
|
||||
## If the future stream already has data or is finished then `cb` will be
|
||||
## called immediately.
|
||||
proc named() = cb(future)
|
||||
future.cb = named
|
||||
|
|
@ -70,19 +70,19 @@ proc `callback=`*[T](future: FutureStream[T],
|
|||
callSoon(future.cb)
|
||||
|
||||
proc finished*[T](future: FutureStream[T]): bool =
|
||||
## Check if a ``FutureStream`` is finished. ``true`` value means that
|
||||
## Check if a `FutureStream` is finished. `true` value means that
|
||||
## no more data will be placed inside the stream *and* that there is
|
||||
## no data waiting to be retrieved.
|
||||
result = future.finished and future.queue.len == 0
|
||||
|
||||
proc failed*[T](future: FutureStream[T]): bool =
|
||||
## Determines whether ``future`` completed with an error.
|
||||
## Determines whether `future` completed with an error.
|
||||
return future.error != nil
|
||||
|
||||
proc write*[T](future: FutureStream[T], value: T): Future[void] =
|
||||
## Writes the specified value inside the specified future stream.
|
||||
##
|
||||
## This will raise ``ValueError`` if ``future`` is finished.
|
||||
## This will raise `ValueError` if `future` is finished.
|
||||
result = newFuture[void]("FutureStream.put")
|
||||
if future.finished:
|
||||
let msg = "FutureStream is finished and so no longer accepts new data."
|
||||
|
|
@ -95,14 +95,14 @@ proc write*[T](future: FutureStream[T], value: T): Future[void] =
|
|||
result.complete()
|
||||
|
||||
proc read*[T](future: FutureStream[T]): owned(Future[(bool, T)]) =
|
||||
## Returns a future that will complete when the ``FutureStream`` has data
|
||||
## Returns a future that will complete when the `FutureStream` has data
|
||||
## placed into it. The future will be completed with the oldest
|
||||
## value stored inside the stream. The return value will also determine
|
||||
## whether data was retrieved, ``false`` means that the future stream was
|
||||
## whether data was retrieved, `false` means that the future stream was
|
||||
## completed and no data was retrieved.
|
||||
##
|
||||
## This function will remove the data that was returned from the underlying
|
||||
## ``FutureStream``.
|
||||
## `FutureStream`.
|
||||
var resFut = newFuture[(bool, T)]("FutureStream.take")
|
||||
let savedCb = future.cb
|
||||
proc newCb(fs: FutureStream[T]) =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue