Commit Graph

395 Commits

Author SHA1 Message Date
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
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
Dmitriy Ryajov 78953f8fc3 consolidating timers loop 2020-01-08 10:03:34 -06:00
Dmitriy Ryajov d8dd09a358 don't loop over timers heap 2020-01-07 19:06:27 -06:00
Dmitriy Ryajov d979770263 clear timers under windown as well 2020-01-07 10:22:38 -06:00
Dmitriy Ryajov b9c534724c don't scan timers heap on each remove 2020-01-06 23:26:18 -06:00
Dmitriy Ryajov 546cc36d79 fix: avoid completing future twise 2019-12-24 13:23:45 -06:00
cheatfate a20c34603e
Revert back some exception changes. 2019-12-02 12:40:41 +02:00
cheatfate 73c130abb4
Remove usage of getCurrentException().
Bump version to 2.3.4.
2019-11-28 20:14:19 +02:00
Yuriy Glukhov 4d61345978
Use CatchableError as base instead of Exception 2019-11-22 18:59:02 +02:00
cheatfate 811c5f66ae
More *nix fixes. 2019-10-30 00:40:02 +02:00
cheatfate fb00b20cfa
Fix all compilation warnings for 1.0.2.
Fix all related problems.
2019-10-29 23:19:41 +02:00
cheatfate 5f1391f39f
Fix unused imports. 2019-10-24 16:21:31 +03:00
cheatfate a7ff20b299
Fix *nix compilation problem. 2019-10-24 16:06:55 +03:00
cheatfate 29d9274e03
Fix some compilation warnings. 2019-10-24 16:01:57 +03:00
cheatfate 5758d07c08
Fix compilation problems in Nim devel. 2019-10-24 15:29:21 +03:00
cheatfate b59e759e87
Fix #53 2019-10-23 14:13:23 +03:00
Yuriy Glukhov a291f26c82
Merge pull request #55 from status-im/tlsstream
TLS async stream.
2019-10-22 13:32:36 +03:00
cheatfate 368502c10b
Rename harvestItem to copyOut. 2019-10-18 19:24:58 +03:00
cheatfate 9ce7141087
Fix cancel() issue.
Fix asyncstream.nim not propagating cancellation.
Fix tlsstream.nim to proper propagate cancellation.
Fix tlsstream.nim stuck on close.
2019-10-17 14:44:14 +03:00
cheatfate d008fa2087
Fix make serverName mandatory and check for empty serverName. 2019-10-16 09:07:46 +03:00
cheatfate a92ad6d2d2
Add TLS inbound stream.
Fix some review comments.
2019-10-16 09:01:52 +03:00
cheatfate 161c50209e
Remove debugging echos. 2019-10-10 14:53:33 +03:00
cheatfate fe6fca1e67
Add hexdump.nim. 2019-10-10 13:01:14 +03:00
cheatfate 5c801a5dbc
Add upload() and some debugging. 2019-10-10 12:52:12 +03:00
cheatfate 3b8874a9e8
Fix issue with Windows connect(0.0.0.0). 2019-10-09 15:12:19 +03:00
cheatfate 3f8d529c8e
Attempt to fix state machine issue. 2019-10-09 09:12:54 +03:00
cheatfate 417111093e
Cleanup references on exit. 2019-10-08 20:38:39 +03:00
cheatfate e19101d287
Add GC reference to reader and writer. 2019-10-08 20:30:43 +03:00
cheatfate cae1d09690
Removed debugging imports. 2019-10-08 19:02:42 +03:00
cheatfate c27624cfc0
Add TlsStream with client-only connections. 2019-10-08 18:46:27 +03:00
cheatfate 3c928918a4
Change AsyncStream close procedure from events to cancellation. 2019-10-08 10:28:43 +03:00
cheatfate b0fe8398e8
Fix behavior which was agreed in #46. 2019-09-23 20:24:26 +03:00
Eugene Kabanov b41af14f86 Fix emscripten compilation errors. (#46)
* Move initAPI to newDispatcher() call.
2019-09-10 13:19:49 -04:00
cheatfate a039011f5b
Fix clock_gettime() is not available on old MacOS. 2019-09-03 17:30:28 +03:00
cheatfate 7029f8bc1e
Fix behavior for write operations. 2019-08-28 07:57:06 +03:00
Yuriy Glukhov aacfa59c76 Fixed compilation error for async lambdas 2019-08-19 20:19:26 +03:00
Eugene Kabanov 693f741c8d
Merge pull request #48 from status-im/no-Iter
No Iter in stacktraces
2019-08-16 18:14:43 +03:00
Yuriy Glukhov 2346ed3c6c Fixup error reporting 2019-08-16 15:23:51 +02:00
Bruno Škvorc bb525ace25
Fix typo in doc string
This typo was breaking nim's doc generator.
2019-08-16 12:27:27 +02:00
Yuriy Glukhov bff83a9c3c Disallow waitFor in async 2019-08-15 17:41:15 +02:00
Yuriy Glukhov a30e4fe361 No Iter in stacktraces 2019-08-15 17:26:00 +02:00
Yuriy Glukhov e3cb0d1a96 Await is a template now 2019-08-15 16:01:26 +02:00
cheatfate 45f15ca6d7
Fix asyncmacro bug which introduces problems after cancellation got supported. 2019-07-19 13:06:32 +03:00
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