Zahary Karadjov
34b81961d3
Revert "asyncCheck(): don't raise exception on cancellation ( #121 )"
...
This reverts commit baf33f04ea
.
This change hides exceptions that should be handled explicitly -
asyncCheck is a debugging tool that should only be used in
exception-free situations (indeed, to fail when the operation
unexpectedly raises). There is no rough consensus behind this
change.
2020-08-16 01:48:25 +03:00
Ștefan Talpalaru
baf33f04ea
asyncCheck(): don't raise exception on cancellation ( #121 )
2020-08-12 16:24:55 +02:00
Ștefan Talpalaru
284d677815
yieldAsync() ( #120 )
2020-08-10 15:31:21 +02:00
Ștefan Talpalaru
d0a17d551f
more docs ( #111 )
...
* more docs
* make CancelledError and object of Exception
2020-08-06 20:52:50 +02:00
Ștefan Talpalaru
e45ef32b5b
some metrics for monitoring futures ( #85 )
2020-08-06 19:30:53 +02:00
zah
0d4d0002b0
Produce an error when the result variable is used in void async procs ( #117 )
2020-08-05 16:28:11 +03:00
Eugene Kabanov
73de13ca7a
Fix SIGSEGV while consuming errors more then once. ( #114 )
2020-08-05 00:23:43 +03:00
Ștefan Talpalaru
f5634f499d
cancelAndWait(): add comments ( #112 )
...
The cancellation process has a very complicated control flow, split over
different files and hidden by macros. These comments should help shed a
light on this madness.
2020-07-30 02:47:11 +02:00
cheatfate
3968f09ae1
Skip flaky test on MacOS.
2020-07-17 09:38:58 +03:00
Eugene Kabanov
31fec25063
Fix accept races. ( #110 )
...
* Fix accept races.
2020-07-15 11:09:34 +03:00
cheatfate
783f84aa4b
Fix EAGAIN issue in acceptLoop().
2020-07-15 01:07:03 +03:00
Ștefan Talpalaru
63041b2d8f
start documenting the library ( #109 )
...
* start documenting the library
* introduce futures
* running the event loop
* async procs and "await"
* more "await" examples
* clarify internal callback creation
* error handling
* address review comments
* remove TODO item
* more about future completion
2020-07-13 17:59:11 +02:00
Jacek Sieka
f856c885fa
fix endian conversion issues ( #82 )
...
* fixes call to `bigEndian32` on a uint64 which breaks on big endian
platforms
* prefer endians2 for less and safer code
2020-07-12 18:22:47 +02:00
Jacek Sieka
8b8a1e793d
bump supported nim version
2020-07-12 18:20:21 +02:00
Ștefan Talpalaru
0ad7321aa0
ServerFlags.ReusePort support on POSIX ( #95 )
2020-07-12 18:13:22 +02:00
Eugene Kabanov
ce6e7d17b1
Make Future tracking and stack traces optional ( #108 )
...
* Make Future tracking optional via -d:chronosDutureTracking compilation flag.
* Stack traces is now optional, use -d:chronosStackTraces.
* Fix mistypes and add test for chronosStackTrace option.
2020-07-08 19:48:01 +03:00
Eugene Kabanov
5629b3c41f
[WIP] Zero-cost unattended Future[T] tracking mechanism. ( #106 )
...
* Zero-cost unattended Future[T] tracking mechanism with tests and tracking of test suite.
2020-07-06 09:33:13 +03:00
Eugene Kabanov
16ed169f25
Fix cancellation race when low level futures are already completed, while cancellation process is pending. ( #107 )
...
Added test.
2020-07-03 15:03:59 +03:00
Eugene Kabanov
528688d01e
Add sanity check. ( #105 )
2020-06-25 09:32:41 +03:00
Eugene Kabanov
319e2bfc09
Fix Nim's issue #13899 using #14723 and add tests. ( #104 )
2020-06-24 13:03:36 +03:00
Eugene Kabanov
02b8da986b
Add accept() call ( #103 )
...
* Add accept() call and tests.
* Fix rare fd leaks on Windows.
* Fix compilation warnings.
* Add fd leak test.
* Bump version to 2.4.0.
2020-06-24 11:21:52 +03:00
Eugene Kabanov
bedd1ded5e
Properly fix cancellation race and not introduce FD leaks. ( #102 )
2020-06-05 19:11:51 +03:00
Eugene Kabanov
d6d0084333
Fix cancellation race when connect() call is getting cancelled. ( #101 )
2020-06-04 13:07:52 +03:00
Kim De Mey
bce0f878d1
Remove unreachable raise from initTAddress ( #97 )
2020-05-15 14:09:21 +03:00
Jacek Sieka
aff69aaf29
fix closed error type ( #99 )
2020-05-13 22:45:40 +03:00
cheatfate
357baa52a0
Fix documentation for `or`.
2020-04-21 07:33:31 +03:00
Eugene Kabanov
2ecc5500c2
Undeprecate `or` operation. ( #93 )
...
* Undeprecate `or` operation.
Fix `or` for already finished futures.
Add tests.
* Bump version to 2.3.9.
2020-04-21 07:07:49 +03:00
Giovanni Petrantoni
9ea1017a06
Fix possible race condition in asyncstream close ( #91 )
2020-04-09 17:56:56 +03:00
Eugene Kabanov
3d745a4b0c
Fix Nim's issue #13889 https://github.com/nim-lang/Nim/issues/13889 . ( #90 )
2020-04-06 15:49:09 +03:00
Eugene Kabanov
4e2810cfe0
Fix issue with allFinished(), allFutures(), one() behavior when Futures passed are already finished. ( #89 )
...
Added test.
2020-04-06 13:56:24 +03:00
Eugene Kabanov
cbd8e03823
Add allFinished() primitive. ( #87 )
...
* Add allCompleted() primitive.
* Rename it to allFinished().
* Fix allFinished Future's static name.
Use `mitems()` instead of `for`.
2020-04-01 12:10:56 +03:00
andri lim
72b4f14427
fix nim 1.2 compilation issue on linux
2020-03-26 16:46:31 +07:00
Araq
f3827a13d1
prepare nim-chronos for Nim version 1.2
2020-03-23 20:17:29 +02:00
cheatfate
7ed9f1431a
Bump version to 2.3.8.
2020-03-05 20:54:57 +02:00
Jacek Sieka
d8f8e3d9fc
readMsg branch by @arnetheduck with some changes. ( #83 )
...
Co-authored-by: Eugene Kabanov <ka@hardcore.kiev.ua>
2020-03-05 10:59:10 +01:00
cheatfate
56fbdff096
Async transformed procedures will not catch Exception anymore.
...
Bump version to 2.3.7.
2020-03-03 13:42:43 +02:00
Eugene Kabanov
fe1b1a6983
Merge pull request #79 from status-im/dgramanyaddr
...
Fix Windows datagram's AnyAddress issue.
2020-02-26 00:09:51 +02:00
cheatfate
64583b4269
Fix Windows datagram's AnyAddress issue.
...
Add test for datagram's AnyAddress.
Bump version to 2.3.6.
2020-02-25 23:50:39 +02:00
Eugene Kabanov
3367b6ca90
Merge pull request #75 from status-im/fix-future-defect
...
FutureDefect is a type of Defect
2020-02-18 05:54:55 +02:00
Zahary Karadjov
a9ed7e4f3f
FutureDefect is a type of Defect
2020-02-18 00:35:03 +02:00
cheatfate
8e70d1be7a
Fix macos warnings.
2020-02-12 23:01:41 +02:00
cheatfate
80351cb928
Fix #73 .
2020-02-12 22:54:05 +02:00
Eugene Kabanov
e3ced62d4b
Merge pull request #69 from status-im/fix-64
...
Fix #64
2020-01-28 16:08:56 +02:00
cheatfate
4a2416fe5e
Allow to setup datagram servers with 0 port.
2020-01-28 15:46:57 +02:00
cheatfate
e34857364e
Attempt to fix #64 .
2020-01-28 12:47:38 +02:00
cheatfate
74700fdcab
Fix bug cancellation handlers not called in wait() and withTimeout().
...
Fix double completion bug because of callback race.
Fix deprecation warnings.
Rename some internal procedures.
Bump version to 2.3.5.
2020-01-27 22:32:08 +02:00
Eugene Kabanov
f02e748f18
Merge pull request #63 from status-im/fix-wait-timeout
...
Optimize timers processing
2020-01-09 20:37:25 +02:00
Dmitriy Ryajov
1c176c173d
fix: restore `removeCallback`
2020-01-08 19:32:53 -06:00
Dmitriy Ryajov
0d84f273c9
make `clearTimer` inline
2020-01-08 11:23:01 -06:00
Dmitriy Ryajov
96e0206c27
reverting AsyncCallback to object
2020-01-08 11:06:56 -06:00