| Commit message (Collapse) | Author | Age | ||
|---|---|---|---|---|
| ... | ||||
| * | IPC & TCP negotiation done using aio. Remove old sync send/recv. | Garrett D'Amore | 2017-07-03 | |
| | | ||||
| * | 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 | |
| | | ||||
| * | More aio name cleanups. | Garrett D'Amore | 2017-07-02 | |
| | | ||||
| * | Transports allocate their pipe structures during connect & accept. | Garrett D'Amore | 2017-07-02 | |
| | | ||||
| * | Pass cancel of IPC and TCP all the way down to POSIX pipedescs. | Garrett D'Amore | 2017-06-29 | |
| | | ||||
| * | Refactor stop again, closing numerous races (thanks valgrind!) | Garrett D'Amore | 2017-06-28 | |
| | | ||||
| * | Protocols keep their own reference counts. | Garrett D'Amore | 2017-06-24 | |
| | | ||||
| * | IPC send/recv works asynchronously for POSIX. | Garrett D'Amore | 2017-03-29 | |
| | | | | | | | | | | | As with TCP, we're still using threads under the hood. But this completes the send/recv logic conversion for POSIX to our AIO framework, and hence represents a substantial milestone towards full asyncronous operation. We still need to do accept/connect operations asynchronously, then making. Windows overlapped IO work properly. After that, poll/epoll/kqueue, etc. | |||
| * | Clean up some dead code. | Garrett D'Amore | 2017-03-29 | |
| | | ||||
| * | 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 | |
| | | ||||
| * | Start of close related race fixes. Scalability test. | Garrett D'Amore | 2017-03-10 | |
| | | ||||
| * | Pipeline protocol now entirely callback driven. | Garrett D'Amore | 2017-03-04 | |
| | | ||||
| * | 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. | |||
| * | Address segfault in TCP, and fix wild card handling. | Garrett D'Amore | 2017-01-18 | |
| | | ||||
| * | Fixes for 32-bit Windows compilation. | Garrett D'Amore | 2017-01-16 | |
| | | ||||
| * | 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. | |||
| * | Add IPC (UNIX domain sockets) for POSIX, and test suite. | Garrett D'Amore | 2017-01-12 | |
| | | ||||
| * | Shut up uncrustify. | Garrett D'Amore | 2017-01-06 | |
| | | ||||
| * | Bunch of copyright fixes. | Garrett D'Amore | 2017-01-06 | |
| | | ||||
| * | Message API was awkward. | Garrett D'Amore | 2017-01-06 | |
| | | | | | | | | The use of a single function to get both size and length actually turned out to be awkward to use; better to have separate functions to get each. While here, disable some of the initialization/fork checks, because it turns out they aren't needed. | |||
| * | Change a bunch of copyrights to 2017 for work done since the 1st. | Garrett D'Amore | 2017-01-05 | |
| | | ||||
| * | Fixes for TCP transport. Working now. | Garrett D'Amore | 2017-01-04 | |
| | | ||||
| * | Fix close related races (POSIX close is a PITA). | Garrett D'Amore | 2017-01-04 | |
| | | ||||
| * | TCP listen and accept test. | Garrett D'Amore | 2017-01-04 | |
| | | | | | There is an occasional use-after-free bug we need to fix still. | |||
| * | Test for duplicate address listen, and fix in TCP for same. | Garrett D'Amore | 2017-01-04 | |
| | | ||||
| * | Starting a common transport testing framework. | Garrett D'Amore | 2017-01-04 | |
| | | ||||
| * | Initial cut at TCP, totally untested beyond compilation. | Garrett D'Amore | 2017-01-04 | |
| | | | | | | This also adds checks in the protocols to verify that pipe peers are of the proper protocol. | |||
| * | Fixes to enable REQ/REP to operate. | Garrett D'Amore | 2017-01-02 | |
| | | | | | | | | This uncovered a few problems - inproc was not moving the headers to the body on transmit, and the message chunk allocator had a serious bug leading to memory corruption. I've also added a message dumper, which turns out to be incredibly useful during debugging. | |||
| * | Transport renaming. | Garrett D'Amore | 2017-01-02 | |
| | | ||||
| * | Transport renaming phase 1. | Garrett D'Amore | 2017-01-02 | |
| | | ||||
| * | Change msgqueue -> msgq. | Garrett D'Amore | 2017-01-02 | |
| | | ||||
| * | Use new NNI_ALLOC_STRUCT macro. nni_msg_dup copies options too. | Garrett D'Amore | 2017-01-02 | |
| | | ||||
| * | Clear the connected pipe so dialers don't reuse earlier pipes. | Garrett D'Amore | 2017-01-01 | |
| | | ||||
| * | inproc uses new mutex/condvars. | Garrett D'Amore | 2017-01-01 | |
| | | ||||
| * | Close & destroy endpoints in a single operation. | Garrett D'Amore | 2016-12-31 | |
| | | ||||
| * | More directed wakeups (and hopefully resolve races) for inproc. | Garrett D'Amore | 2016-12-31 | |
| | | ||||
| * | Substantial fixes for listen & dialers. | Garrett D'Amore | 2016-12-25 | |
| | | | | | | | | | | | At this point listening and dialing operations appear to function properly. As part of this I had to break the close logic up since otherwise we had a loop trying to reap a thread from itself. So there is now a separate reaper thread for pipes per-socket. I also changed lists to be a bit more rigid, and allocations now zero memory initially. (We had bugs due to uninitialized memory, and rather than hunt them all down, lets just init them to sane zero values.) | |||
| * | Change entry points in transports to bind() and connect(). | Garrett D'Amore | 2016-12-25 | |
| | | | | | | | | This was done as these entry points are more clearly associated with single function transport routines like those from BSD sockets, unlike our higher level dial() and listen() APIs that do accept() or reconnect in loops. | |||
| * | Fix crash when destroying inproc endpoint. | Garrett D'Amore | 2016-12-25 | |
| | | ||||
| * | More C99-ification. Also end the _t thing for types (ISO C rules). | Garrett D'Amore | 2016-12-22 | |
| | | ||||
| * | Endpoint dialer implemented. | Garrett D'Amore | 2016-12-22 | |
| | | ||||
| * | Work on endpoints. More C99 & type cleanups. | Garrett D'Amore | 2016-12-22 | |
| | | ||||
| * | Inline locks (fewer allocs), simpler absolute times for wakeups. nn_sock_recv. | Garrett D'Amore | 2016-12-22 | |
| | | ||||
| * | Synchronization enhancements - inproc & msgqueue. Absolute waits... | Garrett D'Amore | 2016-12-22 | |
| | | ||||
| * | Use C99 structure initializers FTW. Various other changes. | Garrett D'Amore | 2016-12-22 | |
| | | ||||
| * | Ditch our own snprintf/vsnprintf (C99). Symbol naming fixes for inproc. | Garrett D'Amore | 2016-12-21 | |
| | | ||||
| * | Uncrustify configuration, and shorter copyright banners, plus reformat | Garrett D'Amore | 2016-12-21 | |
| | | | | | code with uncrustify. (Minor adjustments.) No more arguments! | |||
