Eugene Kabanov
0688d2ef8f
Add idle connection timeouts for HTTP client's connections pool. ( #324 )
...
* Add idle connection timeouts for HTTP client's connections pool.
Add timestamps and duration for both HTTP client requests/responses.
Add test.
* Add comments on `connectionFlag` decisions.
* Address review comments.
Adjust default idle connection timeout to 60 seconds.
* Increase timeout for test.
* Adjust timeout to lower value.
* Address review comments.
2023-03-21 15:10:35 +02:00
Etan Kissling
30c839bac7
fix `hasOverflow` for multiple streams ( #370 )
...
Instead of repeatedly checking stream 1, properly check all of them.
2023-03-16 11:46:24 +02:00
Eugene Kabanov
f7835a192b
Fix osnet to not raise defect in ipnet. ( #364 )
...
* Debugging commit.
* Fix compilation issue.
* Remove debugging echoes.
2023-02-23 09:58:58 +02:00
Matt Haggard
1b69b5e808
Allow passing in trustAnchors to newTLSClientAsyncStream ( #355 )
...
* Allow passing in trustAnchors to newTLSClientAsyncStream
* Store X509TrustAnchors in a memory-secure, but memory-friendly way
* Remove forgotten import
* Change some waitFor to await in tests; add comment about trustAnchors reuse
* Remove use of result in newTrustAnchorStore
2023-02-21 20:38:53 +02:00
Eugene Kabanov
0f70a6b8ee
OS definitions and exceptions changes. (AsyncProc part 1). ( #361 )
...
* Initial commit.
* Finalize Windows part.
* Finalize Posix part.
* Fix style issues.
* Move osnet declarations to osdefs.
* Move osnet declarations to osdefs 2.
* Fix Nim 1.2 issues.
* Fix 1.2 compilation issues 2.
* Address review comments.
Fix SignalFdInfo issue.
2023-02-21 11:48:36 +01:00
Eugene Kabanov
77ffff322c
Fix missing decodeUrl() while decoding CommaSeparatedArray URL query parameters. ( #360 )
...
Fix unused `exc` warnings.
Fix unused ContentDisposition warning.
2023-02-17 12:52:54 +02:00
Tanguy
a50ac4f642
Documentation ( #311 )
...
* Fix & update asyncloop documentation
* Add cancellation documentation
* Add documentation generation workflow
* pin nim version for doc gen
* update readme
* fix example
* Simplify examples
2023-02-16 21:27:31 +01:00
Eugene Kabanov
1e743dc415
IpNet refactoring ( #354 )
...
Remove `result` usage.
Remove cast[T] usage.
Add more helpers for TransportAddress checks.
Add isGlobal() helper to check if TransportAddress is globally accessed IP address.
Add tests.
Add more tests for sub.
Add TransportAddress.toHex().
2023-02-16 17:18:05 +01:00
Eugene Kabanov
5d3da66e56
Properly fix SIGBUS crash issue ( #358 )
...
* Fix SIGBUS crash.
* Workaround annoying and buggy style checker.
* Fix revealed SIGSEGV error.
* Add comments.
2023-02-09 07:15:22 +02:00
Eugene Kabanov
b9fcf9962d
Refactor Future[T] test suite. ( #359 )
...
* Refactor testfut.nim.
* Fix location test lines.
2023-02-09 06:08:47 +02:00
Eugene Kabanov
8fcbe716b2
Add more verbose information about failure in basic auth test. ( #351 )
2023-01-24 01:48:31 +02:00
Tanguy
3d532b6d4a
Enable TCP client to enable TCP_NODELAY ( #340 )
...
* Enable TCP client to enable TCP_NODELAY
* add missing return
* fix
2023-01-23 11:18:12 +02:00
Jacek Sieka
40143f8798
remove lock file ( #348 )
...
The lock file breaks CI for nim devel - at minimum, there needs to be a
separate lock file for each nim version before lock files can be
introduced.
2023-01-19 17:20:26 +01:00
Tanguy
f3b77d8661
Fix `async` `proc` types & small cleanups ( #347 )
...
* Fix `async` `proc` types & small cleanups
* review comments
2023-01-19 07:52:11 +01:00
Tanguy
4ada7fc0e1
Fix flaky token bucket CI ( #338 )
2023-01-18 16:02:00 +01:00
Jacek Sieka
c65cc4c136
`async` `proc` types ( #346 )
...
Allow `type = proc(...) {.async.}` for pre-declaring async callback
types - in this case, the macro applies the correct transformation to
the return type and adds the appropriate exception / gcsafe annotations
2023-01-18 15:54:39 +01:00
Eugene Kabanov
945c304197
Address #329 . ( #330 )
...
* Address #329 .
* Refactor AsyncStreamReader/Writer `state` helper functions.
Fix some compilation warnings in `debugutils`.
Add multiple writes into test to check consistency.
* Fix Linux issue.
Fix warnings.
2023-01-10 18:08:54 +02:00
Bung
e9f8baa6ee
fix int set ( #341 )
2022-12-29 12:12:12 +01:00
Bung
5d0c725463
fix int set construction ( #335 )
2022-12-16 10:40:33 +01:00
Tanguy
75d030ff71
Fix async macro "CannotRaise" warnings in nim >1.2 ( #332 )
2022-12-01 11:36:14 +01:00
Jacek Sieka
189f6e390c
normalise nimble file ( #331 )
...
* normalise nimble file
* abort redundant builds
* bump checkout
2022-11-23 06:54:10 +01:00
Eugene Kabanov
6525f4ce1d
Fix some warnings. ( #310 )
...
* Fix some warnings messages.
* More warning fixes.
* Address review comments.
Fix MacOS issues.
* More warning fixes.
* More Windows specific fixes.
* Fix macos and windows warnings.
* Fix warnings in timer.nim
Refactor to remove `result`.
Improve performance and behavior of timer to string procedure.
Add tests.
2022-11-02 08:09:15 +01:00
Tanguy
24146463a3
Token bucket ( #279 )
...
- A single sleepAsync per bucket
- Manual replenish with async
- Cancellation of consume
Co-authored-by: Jacek Sieka <jacek@status.im>
2022-11-02 08:03:19 +01:00
Eugene Kabanov
266e2c0ed2
HTTP client: Allow request connection management. ( #323 )
...
* Allow per-request connection management.
Fix NewConnectionAlways leak issue.
* Address review comment.
2022-10-13 10:18:13 +00:00
Eugene Kabanov
9df76c39df
Fix default content-type should not be sent if there is no body. ( #315 )
...
Make contentLength field publicly available.
2022-09-20 12:59:34 +00:00
Eugene Kabanov
be2352027e
Fix nested waitFor (IndexError defect crash) bug. ( #309 )
...
Add IndexError crash test for Linux/MacOS.
Add Sentinel version of fix.
Add GetQueuedCompletionStatusEx() support for Windows, which allows to capture more then one event in single `poll()` call.
2022-09-16 22:34:18 +02:00
Eugene Kabanov
8e8263370b
Add more FutureBase helpers. ( #304 )
2022-09-12 12:11:13 +00:00
Jacek Sieka
396ed554f6
Update README.md
2022-09-06 18:50:12 +02:00
Jacek Sieka
746832384a
`Option` -> `Opt` ( #307 )
2022-09-05 11:08:52 +00:00
Miran
3e4b47e60a
switch CI to the supported versions of ubuntu and macos ( #306 )
...
* switch CI to the supported versions of ubuntu and macos
See:
- https://github.com/actions/runner-images/issues/6002
- https://github.com/actions/runner-images/issues/5583
* don't continue on error for Nim 1.6
* install openssl on macos for Nim devel
due to changes in https://github.com/nim-lang/Nim/pull/19814
2022-09-02 17:27:24 +02:00
Eugene Kabanov
1334cdfebd
getPreferredContentType() deprecate float math ( #303 )
...
* Deprecate float math.
* Remove unneeded helper procedures.
* Remove limitation of 99 types and comments.
2022-08-10 14:07:51 +03:00
Miran
93800879fd
make it more Nim 1.4+ compatible ( #296 )
2022-08-06 13:56:06 +03:00
Eugene Kabanov
15d7e0ebb7
Add optimized implementation for preferredContentType() which avoid sorting and double iteration. ( #299 )
...
Fix tests to use 80cpl.
2022-08-06 13:53:40 +03:00
Eugene Kabanov
939195626f
Use new Content-Type header value parser. ( #302 )
2022-08-05 19:59:26 +03:00
Eugene Kabanov
79c51914ae
Fix jigsaw test. ( #301 )
2022-07-30 23:16:30 +03:00
Eugene Kabanov
e9d0e2d208
Apply fix for recent Nim devel changes. ( #300 )
2022-07-30 12:48:58 +03:00
Tanguy
41b82cdea3
Add test for nested finally transform issue ( #295 )
2022-07-18 23:30:27 +02:00
Jacek Sieka
2a19e4ca4c
bearssl: spelling ( #294 )
2022-07-16 20:46:19 +02:00
Eugene Kabanov
f2e4d447d6
Workaround exception tracking issue. ( #293 )
...
* Workaround exception tracking issue.
* Fix SecureHttpServerRef too.
2022-07-04 12:31:18 +03:00
Ivan Yonchovski
59f611f0fc
Use unittest2 directly ( #291 )
2022-06-29 17:22:57 +03:00
Eugene Kabanov
377e197417
waitSignal() helper and tests for it. ( #289 )
...
* Add waitForSignal() implementation and tests.
* Fix compilation issues.
* Fix mistype.
* Rename to waitSignal().
* Fix Windows compilation issue.
* Re-export posix signals.
* Remove signal handler on continuation too.
2022-06-29 00:53:09 +03:00
Zahary Karadjov
84e32a3b69
Add high and low operators for Duration and Moment; Add Moment.epochSeconds and Moment.epochNanoSeconds
2022-06-28 16:47:59 +03:00
Jacek Sieka
c6ce4d4fb2
bearssl: use split ABI ( #282 )
2022-06-17 12:39:14 +02:00
Eugene Kabanov
2a5095505f
Add headers argument to redirect() calls. ( #287 )
...
* Add headers argument to redirect() calls.
* Fix mistype.
2022-06-17 12:17:49 +03:00
Eugene Kabanov
61fbbc5512
asyncTest ( #286 )
...
* Initial commit.
* Change name to asynctests.
2022-06-16 14:35:24 +03:00
Eugene Kabanov
f403b06de6
AsyncEventQueue (AsyncEventBus replacement). ( #275 )
...
* AsyncEventQueue (AsyncEventBus replacement) initial commit.
* Add closeWait() and remove assertion test.
* Fix "possible" memory leak.
* Add limits to AsyncEventQueue[T].
Add tests for AsyncEventQueue[T] limits.
Rebase AsyncSync errors to be children of AsyncError.
* Adopt AsyncEventQueue to garbage collect events on emit() too.
Add test from review comment.
* Remove AsyncEventBus test suite.
* Remove unneeded [T] usage.
* Optimize memory usage in 1m test.
* Lower number of events in test from 1m to 100k.
* Deprecate AsyncEventBus.
Add some GC debugging for tests.
* Fix mistype.
* One more attempt to fix crash.
* Add some echo debugging.
* More echo debugging.
* More closer debug echoes.
* Attempt to workaround crash place.
* More debugging echoes in exception handlers.
* Convert suspected test into async procedure.
* Make multiple consumers test async.
* Remove GC debugging.
* Disable added tests.
* Disable AsyncEventQueue tests to confirm that this is an issue.
* Enable all the tests.
2022-06-16 00:51:21 +03:00
Eugene Kabanov
623681e212
Add nimRawSetjmp define to config.nims ( #285 )
...
* Add nimRawSetjmp define to config.nims
* Add config to tests too.
2022-06-14 01:02:33 +03:00
Eugene Kabanov
b3548583fc
Fix last connection state check. ( #278 )
2022-05-27 23:03:32 +03:00
Eugene Kabanov
728ab7faa7
Fix one more place of assertion for high concurrency requests. ( #277 )
2022-05-27 20:28:39 +03:00
Tanguy
c5894bae1b
AsyncEventBus: fix multiple listeners ( #271 )
...
Co-authored-by: dbrignoli <dbrignoli@audioscience.com>
2022-05-20 11:57:37 +02:00