Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add warning about recvLineInto being bound to change | def | 2015-04-26 | 1 | -0/+3 |
| | |||||
* | Revert "Introduce FutureVar[T] to make recvLineInto safer." | def | 2015-04-26 | 1 | -29/+9 |
| | | | | This reverts commit 72b4912c84b16644657f94e54105739cba4b2457. | ||||
* | Fix asyncdispatch on Windows. | Dominik Picheta | 2015-04-24 | 1 | -112/+0 |
| | |||||
* | Introduce FutureVar[T] to make recvLineInto safer. | Dominik Picheta | 2015-04-24 | 1 | -9/+29 |
| | | | | | | | | | | | FutureVar[T] is a new distinct Future type which is designed to be used for situations where the highest performance is needed. It reduces the number of Future allocations needed. It acts as a replacement for 'var' params in async procs. This commit modifies @def-'s PR in order to make it safer. The recvLineInto procedure has been modified to take a ``FutureVar[string]`` param instead of a ``ptr string`` param. | ||||
* | Some small cleanup. | Dominik Picheta | 2015-04-23 | 1 | -2/+2 |
| | |||||
* | Merge branch 'clean-speedup-2' of https://github.com/def-/Nim into ↵ | Dominik Picheta | 2015-04-23 | 1 | -42/+189 |
|\ | | | | | | | def--clean-speedup-2 | ||||
| * | Some style cleanup | def | 2015-03-17 | 1 | -3/+3 |
| | | |||||
| * | Move recvInto to asyncnet and don't export it | def | 2015-03-17 | 1 | -8/+120 |
| | | |||||
| * | Don't export readInto* templates | def | 2015-03-17 | 1 | -2/+2 |
| | | |||||
| * | Make recvLineInto a proc instead of template | def | 2015-03-17 | 1 | -50/+48 |
| | | |||||
| * | Speed up asynchttpserver significantly using all the previous changes | def | 2015-03-17 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Export socket field of AsyncHttpServer and addHeaders proc for templates - Make respond a template instead of proc because of how often it's called. This means no more "await" when invoking it. - Optimize respond template with special case for empty headers and Content-Length entry - newRequest doesn't allocate a hostname and body anymore because they're copied in later - Major changes to processClient to prevent allocations and copies | ||||
| * | Make asyncnet usable when avoiding allocations. | def | 2015-03-17 | 1 | -61/+98 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - readInto, readIntoBuf, are templates instead of procs now - New recvLineInto template that reads directly into a string instead of creating a new one. Used by recvLine proc now - Need fd and bufLen fields of AsyncSocketDesc exported because of the templates - recv returns a shallow string to prevent copying - This gives significant speedups, mostly by using templates instead of creating new Futures and waiting for them all the time. | ||||
* | | Don't run non-test code when defined(testing) | Oleh Prypin | 2015-04-21 | 1 | -1/+1 |
|/ | |||||
* | Happy new year! | Guillaume Gelin | 2015-01-06 | 1 | -1/+1 |
| | |||||
* | Fixes asynchttpsever. | Dominik Picheta | 2014-12-26 | 1 | -0/+4 |
| | |||||
* | Fixes #1745. | Dominik Picheta | 2014-12-26 | 1 | -10/+25 |
| | |||||
* | Fixes SSL AsyncSocket close problem. Ref #1769. Ref #1759. | Dominik Picheta | 2014-12-24 | 1 | -3/+3 |
| | |||||
* | Fix some deprecation warnings caused by renames | def | 2014-11-13 | 1 | -40/+40 |
| | |||||
* | Implement SO_REUSEADDR for asyncnet and asynchttpserver. | Dominik Picheta | 2014-11-07 | 1 | -0/+13 |
| | |||||
* | Fixes asyncnet example. | Dominik Picheta | 2014-09-18 | 1 | -1/+2 |
| | |||||
* | Adds socket creation for arbitrary domain, type and protocol. | Dominik Picheta | 2014-09-18 | 1 | -0/+4 |
| | |||||
* | Add bool to determine if socket has been closed. | Dominik Picheta | 2014-09-16 | 1 | -1/+3 |
| | |||||
* | Lots of documentation improvements for asyncdispatch. | Dominik Picheta | 2014-09-12 | 1 | -4/+14 |
| | | | | Ref #1487. | ||||
* | Fixes httpclient SSL issue. Implements unbuffered SSL recv. Ref #1487. | Dominik Picheta | 2014-09-06 | 1 | -21/+33 |
| | |||||
* | Fixes asynchttpserver. | Dominik Picheta | 2014-09-01 | 1 | -2/+2 |
| | |||||
* | Async SSL support. | Dominik Picheta | 2014-08-31 | 1 | -18/+156 |
| | |||||
* | Case fixes for network modules. | Dominik Picheta | 2014-08-30 | 1 | -15/+15 |
| | |||||
* | Nimrod renamed to Nim | Araq | 2014-08-28 | 1 | -1/+1 |
| | |||||
* | big rename | Araq | 2014-08-27 | 1 | -6/+8 |
| | |||||
* | Fix asyncnet example. Rearrange net code. | Dominik Picheta | 2014-08-10 | 1 | -2/+2 |
| | |||||
* | Added SafeDisconn for accept. | Dominik Picheta | 2014-08-10 | 1 | -4/+5 |
| | |||||
* | Fixes incorrect async exception handling. Adds sleepAsync. | Dominik Picheta | 2014-08-09 | 1 | -2/+2 |
| | | | | | | | | | | | | | | 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. | ||||
* | Implement safe flags for socket operations. | Dominik Picheta | 2014-07-13 | 1 | -17/+20 |
| | |||||
* | Fix broken async tests. | Dominik Picheta | 2014-07-13 | 1 | -1/+1 |
| | |||||
* | Many async optimisations. | Dominik Picheta | 2014-07-12 | 1 | -22/+52 |
| | | | | | | | | | * 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. | ||||
* | Rename asyncdispatch.close to asyncdispatch.closeSocket. | Dominik Picheta | 2014-05-23 | 1 | -1/+1 |
| | |||||
* | Fixes buffered recv in asyncnet. | Dominik Picheta | 2014-04-30 | 1 | -11/+17 |
| | |||||
* | Implemented buffering for asynchronous sockets. | Dominik Picheta | 2014-04-13 | 1 | -2/+36 |
| | |||||
* | fixes for asynchttpserver | Andreas Rumpf | 2014-04-13 | 1 | -0/+1 |
| | |||||
* | Updates docs and news. | Dominik Picheta | 2014-04-06 | 1 | -0/+38 |
| | |||||
* | Async httpclient should now work. Changed recv behaviour. | Dominik Picheta | 2014-04-03 | 1 | -2/+3 |
| | | | | | | | 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. | ||||
* | Implemented async for httpclient. | Dominik Picheta | 2014-03-26 | 1 | -1/+1 |
| | |||||
* | Move asyncdispatch tests to asyncnet. | Dominik Picheta | 2014-03-26 | 1 | -34/+74 |
| | |||||
* | Moved the global dispatcher to asyncdispatch. | Dominik Picheta | 2014-03-23 | 1 | -11/+19 |
| | |||||
* | Many renames. Created high level asyncnet module. | Dominik Picheta | 2014-03-22 | 1 | -0/+147 |