nim-chronos/chronos
Jacek Sieka 0035f4fa66
Introduce `chronos/futures` (#405)
* move `Future[T]` into its own module along with some basic accessors
* mark all fields internal, exposing only read-only versions under the
old names
* introduce `init`/`completed`/etc as a way of creating a future (vs
newFuture)
* introduce `LocationKind` for `SrcLoc` access
* don't expose `FutureList` unless future tracking is enabled
* introduce `chronosStrictFutureAccess` which controls a number of
additional `Defect` being raised when accessing Future fields in the
wrong state - this will become true in a future version

In this version, `Future[T]` backwards compatibility code remains in
`asyncfutures2` meaning that if only `chronos/futures` is imported, only
"new" API is available.

This branch is a refinement / less invasive / minimal version of
https://github.com/status-im/nim-chronos/pull/373.
2023-06-07 20:04:07 +02:00
..
apps/http clean up `Defect` (#404) 2023-06-05 22:21:50 +02:00
ioselects clean up `Defect` (#404) 2023-06-05 22:21:50 +02:00
streams clean up `Defect` (#404) 2023-06-05 22:21:50 +02:00
transports clean up `Defect` (#404) 2023-06-05 22:21:50 +02:00
unittest2 asyncTest (#286) 2022-06-16 14:35:24 +03:00
apps.nim exception tracking (#166) 2021-03-24 10:08:33 +01:00
asyncfutures2.nim Introduce `chronos/futures` (#405) 2023-06-07 20:04:07 +02:00
asyncloop.nim Introduce `chronos/futures` (#405) 2023-06-07 20:04:07 +02:00
asyncmacro2.nim Introduce `chronos/futures` (#405) 2023-06-07 20:04:07 +02:00
asyncproc.nim clean up `Defect` (#404) 2023-06-05 22:21:50 +02:00
asyncsync.nim clean up `Defect` (#404) 2023-06-05 22:21:50 +02:00
config.nim Introduce `chronos/futures` (#405) 2023-06-07 20:04:07 +02:00
debugutils.nim Introduce `chronos/futures` (#405) 2023-06-07 20:04:07 +02:00
futures.nim Introduce `chronos/futures` (#405) 2023-06-07 20:04:07 +02:00
handles.nim clean up `Defect` (#404) 2023-06-05 22:21:50 +02:00
osdefs.nim clean up `Defect` (#404) 2023-06-05 22:21:50 +02:00
oserrno.nim Add facility to emulate signals on Windows. (#357) 2023-06-02 01:53:20 +03:00
osutils.nim clean up `Defect` (#404) 2023-06-05 22:21:50 +02:00
ratelimit.nim clean up `Defect` (#404) 2023-06-05 22:21:50 +02:00
selectors2.nim Fix cast[pointer] issues on nim-devel. (#381) 2023-04-30 08:20:08 +02:00
sendfile.nim clean up `Defect` (#404) 2023-06-05 22:21:50 +02:00
srcloc.nim clean up `Defect` (#404) 2023-06-05 22:21:50 +02:00
timer.nim clean up `Defect` (#404) 2023-06-05 22:21:50 +02:00
transport.nim exception tracking (#166) 2021-03-24 10:08:33 +01:00