| Commit message (Collapse) | Author | Age | ||
|---|---|---|---|---|
| ... | ||||
| * | Shut up uncrustify. | Garrett D'Amore | 2017-01-06 | |
| | | ||||
| * | Fix for valgrind leak. | Garrett D'Amore | 2017-01-06 | |
| | | ||||
| * | Initial swag at pipeline (PUSH/PULL). | Garrett D'Amore | 2017-01-06 | |
| | | | | | | | | | | | | | | | | PUSH attempts to do a round-robin based distribution. However, I noticed that there is a bug in REQ, because REQ sockets will continue to pull down work until the first one no longer has room. This can in theory lead to scheduliung imbalances when the load is very light. (Under heavy load, the backpressure dominates.) Also, I note that mangos suffers the same problem. It does not make any attempt to deliver work equally, basically each pipe winds up pulling messages until its own buffers are full. This is bad. We can borrow the logic here for both REQ and mangos. None of this is tested yet. | |||
| * | Bunch of copyright fixes. | Garrett D'Amore | 2017-01-06 | |
| | | ||||
| * | Fixes for PUB/SUB. | Garrett D'Amore | 2017-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'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. | |||
| * | Start of PUB/SUB testing. Fixed a subscribe bug. | Garrett D'Amore | 2017-01-06 | |
| | | ||||
| * | Add inproc performance tests. | Garrett D'Amore | 2017-01-05 | |
| | | ||||
| * | Added test for cancellation, fixed retry bug. | Garrett D'Amore | 2017-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.c | Garrett D'Amore | 2017-01-05 | |
| | | ||||
| * | Change a bunch of copyrights to 2017 for work done since the 1st. | Garrett D'Amore | 2017-01-05 | |
| | | ||||
| * | PUB protocol (untested). | 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. | |||
| * | Fix early termination, and buffer for throughput. | Garrett D'Amore | 2017-01-05 | |
| | | ||||
| * | Naive attempt to avoid allocator was misguided. This helps performance. | Garrett D'Amore | 2017-01-05 | |
| | | ||||
| * | Implement throughput performance tests. | Garrett D'Amore | 2017-01-05 | |
| | | | | | | | | The throughput performance tests "try" to avoid hitting the allocator, but I think this actually causes other cache related performance, and the receive thread still has to perform a message allocation, leading to really rotten performance. Its probably time to think about a message pool. | |||
| * | Add initial performanced tests. | Garrett D'Amore | 2017-01-05 | |
| | | ||||
| * | Oops -- forgot to test compile. | Garrett D'Amore | 2017-01-05 | |
| | | ||||
| * | Release subscriptions on socket close. | Garrett D'Amore | 2017-01-05 | |
| | | ||||
| * | SUB protocol implemented (uses sorted linked list for topics). | Garrett D'Amore | 2017-01-05 | |
| | | ||||
| * | Fixes for TCP transport. Working now. | Garrett D'Amore | 2017-01-04 | |
| | | ||||
| * | Recv returns 0 on EOF. | Garrett D'Amore | 2017-01-04 | |
| | | ||||
| * | Fix close related races (POSIX close is a PITA). | Garrett D'Amore | 2017-01-04 | |
| | | ||||
| * | Compilation fixes for Linux. | 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. | |||
| * | Working towards TCP support. | Garrett D'Amore | 2017-01-03 | |
| | | ||||
| * | Add NNI_PUT64 and NNI_GET64. | Garrett D'Amore | 2017-01-02 | |
| | | ||||
| * | Add NNI_GET32, NNI_PUT32 macros. | Garrett D'Amore | 2017-01-02 | |
| | | ||||
| * | Leak fixes for valgrind. | Garrett D'Amore | 2017-01-02 | |
| | | ||||
| * | 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. | |||
| * | Begin testing REQ/REP. | Garrett D'Amore | 2017-01-02 | |
| | | ||||
| * | Protocol initialization restructuring. | Garrett D'Amore | 2017-01-02 | |
| | | ||||
| * | 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 | |
| | | ||||
| * | Uncrustify. | 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 | |
| | | ||||
| * | More structure allocation macro conversion. | 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 | |
| | | ||||
| * | Valgrind test fixes (leaks due to unreaped threads.) | Garett D'Amore | 2017-01-01 | |
| | | ||||
| * | Stack related fixes for valgrind platform test. | Garrett D'Amore | 2017-01-01 | |
| | | ||||
| * | Backtrace fix found by gcc warning. | Garrett D'Amore | 2017-01-01 | |
| | | ||||
| * | Uncrustify. | Garrett D'Amore | 2017-01-01 | |
| | | ||||
| * | Final purge of old threading & synch stuff. | Garrett D'Amore | 2017-01-01 | |
| | | ||||
| * | inproc uses new mutex/condvars. | Garrett D'Amore | 2017-01-01 | |
| | | ||||
