| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | Start of close related race fixes. Scalability test. | Garrett D'Amore | 2017-03-10 |
| | | |||
| * | Pair protocol now callback driven. | Garrett D'Amore | 2017-03-06 |
| | | |||
| * | Event notification via pollable FDs verified working. | Garrett D'Amore | 2017-01-22 |
| | | |||
| * | Added protocol flags (which ones can send, and which can receive). | Garrett D'Amore | 2017-01-21 |
| | | |||
| * | Start of event framework. | Garrett D'Amore | 2017-01-16 |
| | | | | | | | | | | | This compiles correctly, but doesn't actually deliver events yet. As part of this, I've made most of the initializables in nng safe to tear-down if uninitialized (or set to zero e.g. via calloc). This makes it loads easier to write the teardown on error code, since I can deinit everything, without worrying about which things have been initialized and which have not. | ||
| * | Various complaints found in AppVeyor build. | Garrett D'Amore | 2017-01-16 |
| | | |||
| * | Add RAW option support (no-op) for PAIR. | Garrett D'Amore | 2017-01-08 |
| | | |||
| * | Move to generic socket & pipe workers, and up to 4 each. | Garrett D'Amore | 2017-01-08 |
| | | | | | | This should eliminate all need for protocols to do their own thread management tasks. | ||
| * | Simplify locking for protocols. | Garrett D'Amore | 2017-01-07 |
| | | | | | | | | | | In an attempt to simplify the protocol implementation, and hopefully track down a close related race, we've made it so that most protocols need not worry about locks, and can access the socket lock if they do need a lock. They also let the socket manage their workers, for the most part. (The req protocol is special, since it needs a top level work distributor, *and* a resender.) | ||
| * | Bunch of copyright fixes. | Garrett D'Amore | 2017-01-06 |
| | | |||
| * | 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. | ||
| * | Protocol initialization restructuring. | Garrett D'Amore | 2017-01-02 |
| | | |||
| * | Rename nni_socket to nni_sock. | 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 |
| | | |||
| * | 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. | ||
| * | Factor out repeated protocol code into common. | Garrett D'Amore | 2016-12-29 |
| | | |||
| * | Fix error handling during initialization. | Garrett D'Amore | 2016-12-29 |
| | | |||
| * | 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.) | ||
| * | 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 |
| | | |||
| * | Start of work to inline mutexes and condition variables. | Garrett D'Amore | 2016-12-22 |
| | | |||
| * | Use C99 structure initializers FTW. Various other changes. | Garrett D'Amore | 2016-12-22 |
| | | |||
| * | Logic for socket shutdown, cleanup, and draining figured out. | Garrett D'Amore | 2016-12-22 |
| | | | | | | There's work to do still, but I've left clear indications of the design in comments. Some ugly mysteries are now solved. | ||
| * | Use C99. | 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! | ||
| * | nni_socket_add_pipe and nni_socket_remove_pipe implementation. | Garrett D'Amore | 2016-12-14 |
| | | |||
| * | Better separate public vs. private names. | Garrett D'Amore | 2016-12-14 |
| | | |||
| * | nn_socket_create() implemented. | Garrett D'Amore | 2016-12-14 |
| | | |||
| * | Initial swing at pair protocol. | Garrett D'Amore | 2016-12-13 |
