Commit Graph

397 Commits

Author SHA1 Message Date
cheatfate c4a99447bd
Fix AsyncLock race and refactor asyncsync.nim to properly support cancellation.
Fix async macro to not transform nested procedures.
2019-07-17 16:12:31 +03:00
cheatfate 03eb8a0157
Add pipe support for StreamTransport.
Bump version to 2.2.8.
2019-07-15 12:59:42 +03:00
cheatfate ec7f2a14a8
Fix compilation warnings in osnet.nim
Fix non stable stream tests.
2019-07-12 10:40:18 +03:00
Eugene Kabanov cd2571e80a
Merge pull request #41 from status-im/cancellation
[WIP] Initial cancellation proposal.
2019-07-06 15:44:21 +03:00
cheatfate 8ba4fc9876
Add `awaitne` command which will have `yield` behavior in async cancellation world.
Add tests for both `await` and `awaitne`.
2019-07-06 11:16:31 +03:00
cheatfate 45ca9e1184
Deprecate usage of `yield` inside of streams. 2019-07-05 13:19:04 +03:00
cheatfate fcfb87d2a0
Deprecate oneIndex(), oneValue(), all(), or(), and().
Add allFutures() and one().
Fix deprecation in chunkedstream.
Add tests.
2019-07-04 15:04:59 +03:00
cheatfate 247e453b71
Fix hidden close issue in AsyncStream. 2019-07-02 21:26:21 +03:00
cheatfate 13301005a3
Return back ValueError. 2019-06-25 10:50:56 +03:00
cheatfate 15b25140b4
Let complete/fail cancelled Future[T]/FutureVar[T] for free. 2019-06-25 10:18:47 +03:00
cheatfate 7d7753b7fd
Initial cancellation proposal. 2019-06-20 23:30:41 +03:00
cheatfate 31f4dc3096
Add ability to create copies of AsyncStreams. 2019-06-18 20:11:13 +03:00
cheatfate 5d4338d294
Fix chunkedstream documentation.
Remove unnecessary asserts.
2019-06-12 18:26:20 +03:00
cheatfate f83d1b4da4
Remove some unused symbols. 2019-06-08 08:37:58 +03:00
cheatfate a8a1138b8b
Fix for race condition in *nix connect(). 2019-06-06 21:22:17 +03:00
Eugene Kabanov 9160dcdbba
Merge pull request #37 from status-im/asyncstream
Asynchronous streams.
2019-06-06 15:05:08 +03:00
cheatfate 77b4ff0534
Remove timeout handling for streams. 2019-06-06 14:00:47 +03:00
cheatfate c27c564d47
Add oneIndex(), oneValue() which are varargs `or` operation.
Fix some deprecation warnings for Nim devel.
Add tests for oneIndex(), oneValue().
2019-06-04 19:51:35 +03:00
cheatfate 38dd4cb6e7
Fix for Nim devel discrimination checks. 2019-06-03 10:24:51 +03:00
cheatfate 49bae9792d
Fix documentation for read(n) procedure. 2019-05-28 20:12:00 +03:00
cheatfate 317ce3c797
Ignore ECONNRESET and EPIPE errors on sending.
Add test for ECONNRESET error.
2019-05-28 09:29:00 +03:00
cheatfate 2ba6e5a412
Fix ChunkedStream error to be derived from CatchableError. 2019-05-10 09:01:16 +03:00
cheatfate 939e461d04
Exceptions and handles fixes. 2019-05-10 08:27:05 +03:00
cheatfate 6e7a753793
Fix for Windows server close procedure. 2019-05-09 20:59:15 +03:00
cheatfate 454571f943
Fix tests to consume all the bytes from the nested stream.
Add error messages for nested exceptions.
2019-05-08 12:44:00 +03:00
cheatfate 1763c9dcff
Add AsyncStreams.
Add Chunked-Encoding AsyncStream reader/writer.
Add tests.
2019-05-07 23:11:40 +03:00
cheatfate bc4fa46566
Add more test vectors from `nim-libp2p`. 2019-04-15 11:30:52 +03:00
cheatfate 2c2e2f7fad
Add getInterfaces() and getBestRoute().
Add IpNet and IpMask.
Add TTL setting for UDP transports with {Broadcast}.
Fix comments.
Add tests.
Bump version to 2.2.5.
2019-04-15 04:27:12 +03:00
cheatfate 66160a9630
Move fromProc to SrcLoc. 2019-04-08 16:46:22 +03:00
cheatfate cd745a20ed
Add SourceLocation.
All the Future[T] operations using SourceLocation now.
2019-04-08 03:59:49 +03:00
cheatfate 6a1f7785a0
Custom tracking mechanism.
1. Add simple tracking of Datagram and Stream transports.
2. Fix leaks in tests.
3. Add leaks tests to Datagram and Stream transport tests.
2019-04-04 12:34:23 +03:00
cheatfate adc9035b07
Some cosmetic in Future[T] names. 2019-03-31 18:33:01 +03:00
cheatfate d3b72dbe8b
Add broadcast feature for DatagramTransport.
Add test for it.
2019-03-31 09:18:21 +03:00
cheatfate 80ee289847
Fix rarely appearing Windows bug with close(transport).
Add tests for it.
Add fromProc for all Future[T] in transports.
Add testall to improve tests speed.
Bump version to 2.2.4.
2019-03-31 00:31:10 +02:00
cheatfate 4290e06e77
Fix #16. 2019-03-29 11:53:24 +02:00
cheatfate 7d63a1b54d
Fix wait() to allow Future[void]. 2019-03-28 00:56:17 +02:00
cheatfate 51c87bf090
Fix to allow parsing of addresses with 0 port. 2019-03-27 21:42:46 +02:00
cheatfate a2b85a8126
Fix for `$`(0). 2019-03-27 07:54:41 +02:00
cheatfate 3d87707b07
Fix #21. 2019-03-26 14:29:35 +02:00
Eugene Kabanov 0ed60b8761
Merge pull request #27 from status-im/recoverable-errors
All async errors are recoverable
2019-03-26 14:02:44 +02:00
Zahary Karadjov 9d346412eb All async errors are recoverable 2019-03-26 12:29:45 +02:00
cheatfate da4709d735
Convert cast[int64] to int64, to allow usage at compile time.
Fix 32bit compilation issue.
2019-03-25 23:24:32 +02:00
cheatfate 1357045cfa
Add old version of deprecated procedures. 2019-03-24 20:59:51 +02:00
Eugene Kabanov 67e214c5df Introduce monotonic timer functions. (#24)
* Introduce monotonic timer functions.
Old fast timers are available through compiler switch.
Add tests for both timers.
* Bump version to 2.2.2.
2019-03-24 10:57:36 -06:00
cheatfate ea3fb9629a
Fixed all() implementation. 2019-03-15 02:43:51 +02:00
Ștefan Talpalaru 685665ad21
assert() -> doAssert() 2019-03-14 04:03:32 +01:00
Mamy Ratsimbazafy 9f15c6b752
Rebrand Asyncdispatch2 to Chronos [WIP] (#20)
* Update file headers, copyright date

* Rename files and hopefully fix nimble

* Forgot to change path in tests

* Update readme
2019-02-06 15:49:11 +01:00