| Commit message (Collapse) | Author | Age | ||
|---|---|---|---|---|
| ... | ||||
| * | Use the same flow regardless of whether pipe start is used or not. | Garrett D'Amore | 2017-07-13 | |
| | | | | | | | This means that pipe_start always succeeds, and we can guarantee that the pipe_start_cb is always executed, and in another context. This may help when we need to change the way that sockets and endpoints are associated. | |||
| * | Give up on uncrustify; switch to clang-format. | Garrett D'Amore | 2017-07-10 | |
| | | ||||
| * | Dead code removal (stuff for removed sync transport apis.) | Garrett D'Amore | 2017-07-07 | |
| | | ||||
| * | TCP asynchronous working now. | Garrett D'Amore | 2017-07-07 | |
| | | | | | | | | | | | | | | | | | It turns out that I had to fix a number of subtle asynchronous handling bugs, but now TCP is fully asynchronous. We need to change the high-level dial and listen interfaces to be async as well. Some of the transport APIs have changed here, and I've elected to change what we expose to consumers as endpoints into seperate dialers and listeners. Under the hood they are the same, but it turns out that its helpful to know the intended use of the endpoint at initialization time. Scalability still occasionally hangs on Linux. Investigation pending. | |||
| * | inproc transport uses aio for connect/accept. | Garrett D'Amore | 2017-07-03 | |
| | | ||||
| * | Rename legacy connect/accept as _sync for now. | Garrett D'Amore | 2017-07-03 | |
| | | ||||
| * | Transports allocate their pipe structures during connect & accept. | Garrett D'Amore | 2017-07-02 | |
| | | ||||
| * | Refactor stop again, closing numerous races (thanks valgrind!) | Garrett D'Amore | 2017-06-28 | |
| | | ||||
| * | More race condition fixes. | Garrett D'Amore | 2017-06-26 | |
| | | ||||
| * | Fix uninitialized use (thanks valgrind.) | Garrett D'Amore | 2017-06-26 | |
| | | ||||
| * | Remove stale endpoint reap stuff. Note that req/rep fails sometimes. | Garrett D'Amore | 2017-06-24 | |
| | | ||||
| * | Protocols keep their own reference counts. | Garrett D'Amore | 2017-06-24 | |
| | | ||||
| * | Start undoing the recursive references -- KISS. | Garrett D'Amore | 2017-06-22 | |
| | | ||||
| * | Use ep_closed to track state (disambiguate name.) | Garrett D'Amore | 2017-06-22 | |
| | | ||||
| * | Simplify endpoint pipe startup. Fix lost pipe on closed ep. | Garrett D'Amore | 2017-06-22 | |
| | | ||||
| * | Make APIs for holding references more consistent. | Garrett D'Amore | 2017-06-21 | |
| | | ||||
| * | More endpoint plumbing before pipes move to objhash. | Garrett D'Amore | 2017-06-06 | |
| | | ||||
| * | Reconn times acquired atomically by socket under lock. | Garrett D'Amore | 2017-06-06 | |
| | | ||||
| * | Endpoint now holds a reference on the socket. | Garrett D'Amore | 2017-06-06 | |
| | | ||||
| * | Start of using objhash for endpoints. | Garrett D'Amore | 2017-06-06 | |
| | | ||||
| * | TCP (POSIX) async send/recv working. Other changes. | Garrett D'Amore | 2017-03-29 | |
| | | | | | | | | Transport-level pipe initialization is now sepearate and explicit. The POSIX send/recv logic still uses threads under the hood, but makes use of the AIO framework for send/recv. This is a key stepping stone towards enabling poll() or similar async I/O approaches. | |||
| * | More interface hiding. (pipe tran data setting). | Garrett D'Amore | 2017-03-19 | |
| | | ||||
| * | Holds instead of references (holds from nng user land). | Garrett D'Amore | 2017-03-19 | |
| | | ||||
| * | Wake on refcnt == 0, not 1. | Garrett D'Amore | 2017-03-19 | |
| | | ||||
| * | More cleanups. Delete unused call, isolate ep list creation. | Garrett D'Amore | 2017-03-19 | |
| | | ||||
| * | More API cleanups to separate interfaces. (nni_pipe_create). | Garrett D'Amore | 2017-03-19 | |
| | | ||||
| * | Add endpoint tuning of maxrcv size. Fix cmsg API. | Garrett D'Amore | 2017-01-24 | |
| | | | | | | | | | | | | | | | The CMSG handling was completely borked. This is fixed now, and we stash the SP header size (ugh) in the CMSG contents to match what nanomsg does. We now pass the cmsg validation test. We also fixed handling of certain endpoint-related options, so that endpoints can get options from the socket at initialization time. This required a minor change to the transport API for endpoints. Finally, we fixed a critical fault in the REP handling of RAW sockets, which caused them to always return NNG_ESTATE in all cases. It should now honor the actual socket option. | |||
| * | Add nni_ep_hold, nni_ep_hold_close, nni_ep_rele, nng_endpoint_close. | Garrett D'Amore | 2017-01-24 | |
| | | ||||
| * | Implement reconnect timer including backoff. | Garrett D'Amore | 2017-01-24 | |
| | | | | | This allows us to enable the last test case for compat_reqrep. | |||
| * | Thread fini shouldl be idempotent. | Garrett D'Amore | 2017-01-19 | |
| | | ||||
| * | Reduce lock contention and simplify logic for endpoint creation. | Garrett D'Amore | 2017-01-18 | |
| | | ||||
| * | Public pipe and endpoint APIs use IDs instead of pointers. | Garrett D'Amore | 2017-01-17 | |
| | | ||||
| * | Various complaints found in AppVeyor build. | Garrett D'Amore | 2017-01-16 | |
| | | ||||
| * | Windows TCP now working. | Garrett D'Amore | 2017-01-14 | |
| | | | | | | | | There are lots of changes here, mostly stuff we did in support of Windows TCP. However, there are some bugs that were fixed, and we added some new error codes, and generalized the handling of some failures during accept. Windows IPC (NamedPipes) is still missing. | |||
| * | Race condition fix attempt. | Garrett D'Amore | 2017-01-07 | |
| | | ||||
| * | Change a bunch of copyrights to 2017 for work done since the 1st. | Garrett D'Amore | 2017-01-05 | |
| | | ||||
| * | Add nng_shutdown() for sockets to help avoid close race. | Garrett D'Amore | 2017-01-05 | |
| | | | | | Also we added a two phase shutdown for threads. | |||
| * | Endpoint renaming. | Garrett D'Amore | 2017-01-02 | |
| | | ||||
| * | Transport renaming. | Garrett D'Amore | 2017-01-02 | |
| | | ||||
| * | Transport renaming phase 1. | Garrett D'Amore | 2017-01-02 | |
| | | ||||
| * | Rename nni_socket to nni_sock. | Garrett D'Amore | 2017-01-02 | |
| | | ||||
| * | More structure allocation macro conversion. | Garrett D'Amore | 2017-01-02 | |
| | | ||||
| * | Final purge of old threading & synch stuff. | Garrett D'Amore | 2017-01-01 | |
| | | ||||
| * | Endpoint uses single thread. | Garrett D'Amore | 2017-01-01 | |
| | | ||||
| * | Pipe simplifications for thread management. | Garrett D'Amore | 2017-01-01 | |
| | | | | | | | | This may also address a race in closing down pipes. Now pipes are always registered with the socket. They also always have both a sender and receiver thread. If the protocol doesn't need one or the other, the stock thread just exits early. | |||
| * | ECLOSED should abort the dialer. | Garrett D'Amore | 2016-12-31 | |
| | | ||||
| * | Finally closed the silly endpoint / pipe use-after-free race. | Garrett D'Amore | 2016-12-31 | |
| | | ||||
| * | More use after free. | Garrett D'Amore | 2016-12-31 | |
| | | ||||
| * | Use after free fix. | Garrett D'Amore | 2016-12-31 | |
| | | ||||
| * | Close & destroy endpoints in a single operation. | Garrett D'Amore | 2016-12-31 | |
| | | ||||
