summaryrefslogtreecommitdiff
path: root/src/protocol
Commit message (Collapse)AuthorAge
...
* Bunch of copyright fixes.Garrett D'Amore2017-01-06
|
* Fixes for PUB/SUB.Garrett D'Amore2017-01-06
| | | | | This fixes several issues, and brings PUB/SUB to operational correctness. Included is test code to verify that.
* Message API was awkward.Garrett D'Amore2017-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.
* Start of PUB/SUB testing. Fixed a subscribe bug.Garrett D'Amore2017-01-06
|
* Added test for cancellation, fixed retry bug.Garrett D'Amore2017-01-05
| | | | | | On retry we were pushing back to the queue. The problem with this is that we could wind up pushing back many copies of the message if no reader was present. The new code ensures at most one retry is outstanding.
* Oops forgot to git commit pub.cGarrett D'Amore2017-01-05
|
* Change a bunch of copyrights to 2017 for work done since the 1st.Garrett D'Amore2017-01-05
|
* Oops -- forgot to test compile.Garrett D'Amore2017-01-05
|
* Release subscriptions on socket close.Garrett D'Amore2017-01-05
|
* SUB protocol implemented (uses sorted linked list for topics).Garrett D'Amore2017-01-05
|
* Fix close related races (POSIX close is a PITA).Garrett D'Amore2017-01-04
|
* Initial cut at TCP, totally untested beyond compilation.Garrett D'Amore2017-01-04
| | | | | This also adds checks in the protocols to verify that pipe peers are of the proper protocol.
* Add NNI_GET32, NNI_PUT32 macros.Garrett D'Amore2017-01-02
|
* Leak fixes for valgrind.Garrett D'Amore2017-01-02
|
* Fixes to enable REQ/REP to operate.Garrett D'Amore2017-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.
* Begin testing REQ/REP.Garrett D'Amore2017-01-02
|
* Protocol initialization restructuring.Garrett D'Amore2017-01-02
|
* Rename nni_socket to nni_sock.Garrett D'Amore2017-01-02
|
* Change msgqueue -> msgq.Garrett D'Amore2017-01-02
|
* Use new NNI_ALLOC_STRUCT macro. nni_msg_dup copies options too.Garrett D'Amore2017-01-02
|
* Backtrace fix found by gcc warning.Garrett D'Amore2017-01-01
|
* REQ/REP use new style locks. Also, enable compilation for REP.Garrett D'Amore2017-01-01
|
* Pipe simplifications for thread management.Garrett D'Amore2017-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.
* Uncrustify fixes.Garrett D'Amore2016-12-31
|
* REP protocol. Untested beyond compilation.Garrett D'Amore2016-12-30
|
* Factor out repeated protocol code into common.Garrett D'Amore2016-12-29
|
* Fix error handling during initialization.Garrett D'Amore2016-12-29
|
* Move option helpers to their own file.Garrett D'Amore2016-12-29
|
* REQ implementation.Garrett D'Amore2016-12-28
| | | | | | This is an untested implementation for REQ. It is based hugely upon the mangos implementation, so there is an excellent chance it will work.
* Substantial fixes for listen & dialers.Garrett D'Amore2016-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'Amore2016-12-22
|
* Work on endpoints. More C99 & type cleanups.Garrett D'Amore2016-12-22
|
* Inline locks (fewer allocs), simpler absolute times for wakeups. nn_sock_recv.Garrett D'Amore2016-12-22
|
* Start of work to inline mutexes and condition variables.Garrett D'Amore2016-12-22
|
* Use C99 structure initializers FTW. Various other changes.Garrett D'Amore2016-12-22
|
* Logic for socket shutdown, cleanup, and draining figured out.Garrett D'Amore2016-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'Amore2016-12-21
|
* Uncrustify configuration, and shorter copyright banners, plus reformatGarrett D'Amore2016-12-21
| | | | code with uncrustify. (Minor adjustments.) No more arguments!
* nni_socket_add_pipe and nni_socket_remove_pipe implementation.Garrett D'Amore2016-12-14
|
* Better separate public vs. private names.Garrett D'Amore2016-12-14
|
* nn_socket_create() implemented.Garrett D'Amore2016-12-14
|
* Initial swing at pair protocol.Garrett D'Amore2016-12-13