Commit Graph

57 Commits

Author SHA1 Message Date
Araq
b7c8063816 fixes #1689 2014-12-10 21:00:02 +01:00
def
f52fd8785f Fix some deprecation warnings caused by renames 2014-11-13 21:34:46 +01:00
Dominik Picheta
baae9bfea8 s/sock/fd/. Fixes #1487. 2014-09-27 17:15:32 +01:00
Dominik Picheta
867dfbfbfa Adds socket creation for arbitrary domain, type and protocol. 2014-09-18 17:03:23 +01:00
Dominik Picheta
6f155af802 Lots of documentation improvements for asyncdispatch.
Ref #1487.
2014-09-12 22:54:02 +01:00
Dominik Picheta
4db6535025 Fixes for new comment handling. 2014-09-09 11:43:54 +01:00
Dominik Picheta
dd33069d59 Implements getCurrentException for try in async procs. Ref #1487. 2014-09-09 01:16:28 +01:00
Dominik Picheta
6689fa68f5 Multiple exception idents in except for async. Ref #1487. 2014-09-08 22:04:09 +01:00
Dominik Picheta
bd542ebea3 Fixes httpclient SSL issue. Implements unbuffered SSL recv. Ref #1487. 2014-09-06 15:29:38 +01:00
Dominik Picheta
52c16a1a79 Implemented asyncfile for Posix. 2014-09-05 21:14:18 +01:00
Dominik Picheta
0f3025e320 Added Windows asyncfile implementation. 2014-09-05 17:36:16 +01:00
Dominik Picheta
f6dc76cfe3 Case sensitivity fixes for Posix. 2014-08-30 15:52:04 +01:00
Dominik Picheta
cff2a0c0b4 Case fixes for network modules. 2014-08-30 11:59:08 +01:00
Dominik Picheta
361657dea4 Merge branch 'devel' into bigbreak
Conflicts:
	lib/pure/ftpclient.nim
2014-08-30 11:58:54 +01:00
Dominik Picheta
85107917f0 Async macro fixes. Added waitFor. 2014-08-29 22:41:52 +01:00
Araq
27869b6c7b big rename 2014-08-28 00:36:14 +02:00
Araq
11b6958755 big rename 2014-08-27 23:42:51 +02:00
Dominik Picheta
a0b2fb5bd7 Implements or and and for futures. Ref #1487. 2014-08-19 20:54:12 +01:00
Dominik Picheta
bd32255f90 Fixes #1158. 2014-08-14 19:03:31 +01:00
Dominik Picheta
ef2f377bfa Added SafeDisconn for accept. 2014-08-10 11:39:37 +01:00
Dominik Picheta
7358fc256f More future debug info. Added new error code to SafeDisconn list. 2014-08-09 20:50:06 +01:00
Dominik Picheta
f8e714bd30 Fixes async on Linux. 2014-08-09 18:10:45 +01:00
Dominik Picheta
4f5f98f0b1 Fixes incorrect async exception handling. Adds sleepAsync.
The tasyncexceptions test has been added which tests for this incorrect
exception handling behaviour. The problem was that the exception was
raised inside a callback which was called from a previously finished async
procedure. This caused a "Future already finished" error. The fix was to
simply reraise the exception if the retFutureSym is already finished.

sleepAsync was added to help with the reproduction of this test. It should
also be useful for users however.

Finally some debug information was added to futures to help with future
bugs.
2014-08-09 17:13:22 +01:00
Dominik Picheta
41bb0bf9dc Added debug code for futures. 2014-07-14 21:06:04 +01:00
Dominik Picheta
2158952917 Linux async fixes. 2014-07-13 22:43:52 +01:00
Dominik Picheta
ac8ddb0720 Implement safe flags for socket operations. 2014-07-13 22:32:39 +01:00
Dominik Picheta
374706b1c3 Void futures are no longer discardable. 2014-07-13 10:19:48 +01:00
Dominik Picheta
634a416c67 Async fixes for Linux. 2014-07-13 00:11:05 +01:00
Dominik Picheta
cf5c8a204e Many async optimisations.
* Selectors implementation will now attempt to immediately execute an IO
  operation instead of waiting for a ready notification.
* Removed recursion in asynchttpserver.
* Improved buffered implementation of recvLine in asyncnet.
* Optimised ``respond`` in asynchttpserver removing a possible "Delayed ACK"
  situation.
2014-07-12 22:51:06 +01:00
Dominik Picheta
f830aed869 AsyncHttpServer now supports POST. 2014-06-28 13:08:11 +01:00
Dominik Picheta
9ea0d0c59e Futures with an error but no callback no longer raise.
This was done as a safety measure against futures which may be
accidentally discarded when they have an exception leading the exception
being silently forgotten. Unfortunately we will need to come up with
some other solution.
2014-06-28 12:16:08 +01:00
Dominik Picheta
7ebbc09578 Allow async lambdas. Other socket modifications. 2014-06-19 00:05:27 +01:00
Dominik Picheta
b4366366d1 Clean createVar template. 2014-05-25 13:09:18 +01:00
Dominik Picheta
d54b902441 Modified future behaviour when completing with an exception.
Futures will now raise the exception if they did not have a callback
associated with them.
2014-05-24 15:55:39 +01:00
Dominik Picheta
b386d38208 Add asyncdispatch.unregister. 2014-05-24 15:55:37 +01:00
Dominik Picheta
6a38d36239 Rename asyncdispatch.close to asyncdispatch.closeSocket. 2014-05-23 13:14:28 +01:00
EXetoC
b1c865a656 Fix #1170. 2014-05-04 01:52:42 +02:00
EXetoC
8802688e9f Fix #1171. 2014-05-03 23:32:14 +02:00
Dominik Picheta
a21289f5d5 Await is now supported in try statements. 2014-05-01 23:27:43 +01:00
Dominik Picheta
6c4870d812 Get rid unsafe pointer type in GetQueuedCompletionStatus. 2014-04-30 17:38:44 +01:00
Araq
d438ecc246 async might work now reliably 2014-04-30 00:52:58 +02:00
Araq
e6d17e6273 made large parts of the stdlib gcsafe 2014-04-20 20:01:24 +02:00
Dominik Picheta
3612aca5fe Implemented buffering for asynchronous sockets. 2014-04-13 14:18:47 +01:00
Andreas Rumpf
fe387888bd fixes for asynchttpserver 2014-04-13 00:39:15 +02:00
Dominik Picheta
369d8c57ae Disable async macro code output. Added some WSA error codes to winlean. 2014-04-07 20:46:47 +01:00
Dominik Picheta
d2593e1d62 setLen now used on asyncdispatch.recv's return value on Linux.
This fixes issues with the async httpclient.
2014-04-06 22:06:25 +01:00
Dominik Picheta
b2fd562983 Updates docs and news. 2014-04-06 20:46:31 +01:00
Dominik Picheta
b23dce03a1 Get rid of incorrect assert in asyncdispatch. 2014-04-06 19:26:21 +01:00
Araq
a4ccd7b865 doc generation for asyncdispatch works 2014-04-06 19:36:29 +02:00
Dominik Picheta
d0478a5637 Asyncdispatch fixes.
``return`` is now transformed into a ``return nil`` in the async iterator
to work around the no-yield in ``try .. except ..`` closure iterator
limitation.
2014-04-05 20:27:42 +01:00