| Commit message (Collapse) | Author | Age | ||
|---|---|---|---|---|
| ... | ||||
| * | Fix incorrect attempt to proceed inproc. | Garrett D'Amore | 2017-07-15 | |
| | | ||||
| * | Close leaking lock for inproc. | Garrett D'Amore | 2017-07-15 | |
| | | ||||
| * | Give up on uncrustify; switch to clang-format. | Garrett D'Amore | 2017-07-10 | |
| | | ||||
| * | Various cleanups of unused bits. | Garrett D'Amore | 2017-07-08 | |
| | | ||||
| * | 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. | |||
| * | Return void on send & recv for transports. | Garrett D'Amore | 2017-07-05 | |
| | | ||||
| * | Improved routines for list management. | Garrett D'Amore | 2017-07-04 | |
| | | ||||
| * | 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 | |
| | | ||||
| * | Protocols keep their own reference counts. | Garrett D'Amore | 2017-06-24 | |
| | | ||||
| * | 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. | |||
| * | Various complaints found in AppVeyor build. | Garrett D'Amore | 2017-01-16 | |
| | | ||||
| * | 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. | |||
| * | 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! | |||
| * | Add ep_destroy implemenation to inproc. | Garrett D'Amore | 2016-12-14 | |
| | | ||||
| * | More comments, and detection of fork-reentrancy. Much effort was spent | Garrett D'Amore | 2016-12-13 | |
| | | | | | trying to come to a fork-safe solution, but ultimately we gave up. | |||
| * | Minor tweak to transport API, new declarations for protocols. | Garrett D'Amore | 2016-12-12 | |
| | | ||||
| * | Added threading primitives, more complete transport API. | Garrett D'Amore | 2016-12-12 | |
| | | ||||
| * | New inproc transport. | Garrett D'Amore | 2016-12-12 | |
| Lots of supporting changes. | ||||
