nim-chronos icon indicating copy to clipboard operation
nim-chronos copied to clipboard

Chronos - An efficient library for asynchronous programming

Results 84 nim-chronos issues
Sort by recently updated
recently updated
newest added

https://github.com/status-im/nim-chronos/blob/67f0f1224fe8176cf66c3fc35c74e313906d9658/chronos/streams/tlsstream.nim#L12 `TLSVersion` `TLSFlags` my proc has params accept TLSVersion TLSFlags also has isSecurity flag, so ssl and non-ssl share same body, I dont want compile bearssl when not defined ssl.

Adds an `interval` primitives triggered at specific intervals of `Duration`. Additionally, adds a missing `addTimer` with `Duration` instead of `Moment`, which is deprecated.

First of all, thank you guys so much for putting effort this amazing project. I really enjoy using it and learning how to make the NIM project clean and organized....

enhancement

https wraps as `TLSAsyncStream`, use `AsyncStreamReader` and `AsyncStreamWriter` for transport, writeFile currently only accept `StreamTransport`

Tried ```nim proc sendFileStreamHandler(api: DaemonAPI, stream: P2PStream) {.async.} = {.gcsafe.}: var name: string var length: int while true: var line = await stream.transp.readLine() if line == "": continue var parts...

chronos provide readUntill raise two kinds of exception that I can handle, but when exception occurs I dont know how much bytes read , the parsing logic heavily relies on...

Some of the errors should be marked as non-fatal, for example: #### Linux, BSD, MacOS systems: * `ECONNABORTED` should be handled in `chronos`. * `EMFILE`, `ENFILE`, `ENOBUFS`, `ENOMEM` could be...

``` type SeqHeader = object length, reserved: int proc isLiteral*(s: string): bool {.inline.} = (cast[ptr SeqHeader](s.cstring).reserved and (1 shl (sizeof(int) * 8 - 2))) != 0 proc isLiteral*[T](s: seq[T]): bool...

EDIT: 2020-02-12 Expanded the introduction section with more details explaining the existing problems in non-structural async. ### Abstract This is a proposal to change the semantics of the `async` procs...