Commit Graph

18 Commits

Author SHA1 Message Date
Andreas Rumpf
b018ddca03 another attempt to make travis and appveyor green again 2017-09-01 15:55:41 +02:00
Andreas Rumpf
dcc72ea7a9 fix os.nim for Windows 2017-09-01 11:24:30 +02:00
Andreas Rumpf
50666a1f8b refactor os.nim and ospaths.nim 2017-09-01 10:35:50 +02:00
Michał Zieliński
e86863e8f5 asyncdispatch: split asyncfutures into its own module
This slightly changes behaviour of callSoon - before loop is initialized, callSoon will call the function immediately.
2017-07-05 12:54:09 +02:00
Dominik Picheta
bf0afaf3c4 Fixes web0 on Mac OS X. 2017-05-17 22:11:43 +01:00
Ruslan Mustakov
ecf278c467 Implement dial, support IPv6 in httpclient (#5763)
* Implement dial, support IPv6 in httpclient

Added ``dial`` procedure to networking modules: ``net``, ``asyncdispatch``,
``asyncnet``. It merges socket creation, address resolution, and connection
into single step. When using ``dial``, you don't have to worry about
IPv4 vs IPv6 problem.

Fixed addrInfo loop in connect to behave properly.
Previously it would stop on first non-immediate failure, instead of
continuing and trying the remaining addresses.

Fixed newAsyncNativeSocket to raise proper error if socket creation
fails.

Fixes: #3811

* Check domain during connect() only on non-Windows

This is how it was in the previous implementation of connect().

* Call 'osLastError' before 'close' in net.dial

* Record osLastError before freeAddrInfo in net.dial

* Add missing docs for 'dial' proc

* Optimize dial to create one FD per domain, add tests

And make async IPv6 servers work on Windows.

* Add IPv6 test to uri module

* Fix getAddrString error handling
2017-05-02 09:25:50 +02:00
Araq
48c50f6b41 make the logic right 2017-02-26 13:28:46 +01:00
Dominik Picheta
f9cce32097 Various fixes to FutureStreams based on PR feedback. 2017-02-26 12:52:19 +01:00
Dominik Picheta
77071eb767 FutureStream's cb call behaviour fixed + other fixes. 2017-02-11 12:42:30 +01:00
Dominik Picheta
2f502e2a9e Remove immediate FutureStream procs and make 'put' awaitable. 2017-02-10 20:40:32 +01:00
Dominik Picheta
ddd3d3f44a Improve implementation of takeAsync for FutureStreams. 2017-02-10 20:18:59 +01:00
Dominik Picheta
7766fdfec1 Implemented a first working version of FutureStreams. 2017-02-10 00:06:18 +01:00
Dominik Picheta
e189004a03 WIP implementation of FutureStream. 2017-02-09 22:46:20 +01:00
Araq
75b7756d79 fixes #4948 2017-01-06 13:21:59 +01:00
Dominik Picheta
c538e1ae08 Fixes asyncdispatch.all completing its res future more than once. 2016-11-21 23:44:38 +01:00
Ruslan Mustakov
f2bded180f async all() now immediately completes if arg is empty 2016-11-03 10:50:43 +07:00
Dominik Picheta
c24d6fe17e Fixes pesky hint in asyncfutures. 2016-10-01 00:09:17 +02:00
Andreas Rumpf
21e35c201c made async compile again 2016-09-26 23:31:36 +02:00