Commit graph

16 commits

Author SHA1 Message Date
Dominik Picheta
a2ec3c91f1 Fix asyncnet example. Rearrange net code. 2014-08-10 12:28:17 +01:00
Dominik Picheta
ef2f377bfa Added SafeDisconn for accept. 2014-08-10 11:39:37 +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
ac8ddb0720 Implement safe flags for socket operations. 2014-07-13 22:32:39 +01:00
Dominik Picheta
cdcdab49b7 Fix broken async tests. 2014-07-13 11:02:34 +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
6a38d36239 Rename asyncdispatch.close to asyncdispatch.closeSocket. 2014-05-23 13:14:28 +01:00
Dominik Picheta
543687f345 Fixes buffered recv in asyncnet. 2014-04-30 22:50:17 +01: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
b2fd562983 Updates docs and news. 2014-04-06 20:46:31 +01:00
Dominik Picheta
4399895d2e Async httpclient should now work. Changed recv behaviour.
asyncdispatch.recv no longer guarantees that it will read ALL the data
requested. The underlying WinAPI function doesn't guarantee this and it
already wasn't guaranteed anyway since the socket could disconnect
mid-transmission.
2014-04-03 20:02:42 +01:00
Dominik Picheta
783087fd57 Implemented async for httpclient. 2014-03-26 16:43:32 +00:00
Dominik Picheta
4ed1ac0078 Move asyncdispatch tests to asyncnet. 2014-03-26 10:31:16 +00:00
Dominik Picheta
d310b01db1 Moved the global dispatcher to asyncdispatch. 2014-03-23 18:24:11 +00:00
Dominik Picheta
192e11e7b7 Many renames. Created high level asyncnet module. 2014-03-22 22:33:53 +00:00