| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | SUB protocol implemented (uses sorted linked list for topics). | Garrett D'Amore | 2017-01-05 |
| | | |||
| * | Fix close related races (POSIX close is a PITA). | Garrett D'Amore | 2017-01-04 |
| | | |||
| * | Test for duplicate address listen, and fix in TCP for same. | 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 |
| | | |||
| * | 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 |
| | | |||
| * | Uncrustify. | Garrett D'Amore | 2017-01-01 |
| | | |||
| * | Final purge of old threading & synch stuff. | Garrett D'Amore | 2017-01-01 |
| | | |||
| * | Endpoint uses single thread. | Garrett D'Amore | 2017-01-01 |
| | | |||
| * | Socket reaper uses new-thread. | Garrett D'Amore | 2017-01-01 |
| | | |||
| * | Message queues use new locking primitives. | Garrett D'Amore | 2017-01-01 |
| | | |||
| * | 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. | ||
| * | Nuke legacy _t types. | Garrett D'Amore | 2017-01-01 |
| | | |||
| * | New thread infrastructure -- not used anywhere yet, but tested. | Garrett D'Amore | 2017-01-01 |
| | | |||
| * | ECLOSED should abort the dialer. | Garrett D'Amore | 2016-12-31 |
| | | |||
| * | Free our per socket message queues. | Garrett D'Amore | 2016-12-31 |
| | | |||
| * | Finally closed the silly endpoint / pipe use-after-free race. | Garrett D'Amore | 2016-12-31 |
| | | |||
| * | More use after free. | Garrett D'Amore | 2016-12-31 |
| | | |||
| * | Use after free fix. | Garrett D'Amore | 2016-12-31 |
| | | |||
| * | Close & destroy endpoints in a single operation. | Garrett D'Amore | 2016-12-31 |
| | | |||
| * | Fix races in pipe termination. | Garrett D'Amore | 2016-12-31 |
| | | |||
| * | Remove old debug. | Garrett D'Amore | 2016-12-31 |
| | | |||
| * | Restructure to be less confusing to uncrustify. | Garrett D'Amore | 2016-12-31 |
| | | |||
| * | Avoid C99 initialization; cmake 3.1/3.2 doesn't pass -std=c99? | Garrett D'Amore | 2016-12-31 |
| | | |||
| * | Uncrustify fixes. | Garrett D'Amore | 2016-12-31 |
| | | |||
| * | Factor out repeated protocol code into common. | Garrett D'Amore | 2016-12-29 |
| | | |||
| * | Richer tests and fixes for idhash. Also dynamically allocate idhash. | Garrett D'Amore | 2016-12-29 |
| | | |||
| * | Test suite for idhash, fix symbol errors, and value changing. | Garrett D'Amore | 2016-12-29 |
| | | |||
| * | Move option helpers to their own file. | Garrett D'Amore | 2016-12-29 |
| | | |||
| * | Implementation of an id hash for hashing pipes by ID. | Garrett D'Amore | 2016-12-29 |
| | | | | | | | | | | We use some hints from Python's dict implementation, using an open addressing scheme, and just ripping off the lower bits as needed. Since we assign IDs consecutively, this should work well. We shrink the table when it is only 1/8 full, and we ensure that we grow the table when it is 2/3 full. (The growth will start by at minimum doubling the required size.) | ||
| * | Pipe ID calculations & socket error functions. | Garrett D'Amore | 2016-12-28 |
| | | | | | | | | | | | | The use of platform_next_id was a bit off, because it could give back pipe IDs that were too large (the high order bit must be clear), and in very long running applications serving many connections, the IDs could wrap and lead to duplicates. Also we have added functions to set the recverr or senderr values, which can be used by protocols -- either during initialization, or during filters. (REQ uses this for example.) | ||
| * | Implement msgqueue_putback. | Garrett D'Amore | 2016-12-28 |
| | | | | | | | | This function is called when we wish to return a message to the queue after examining it. It can also be used by the resender in the REQ protocol. Critically it does not disrupt the ordering of other messages. This is a non-blocking operation. | ||
| * | Add new nni_msg_dup() API. (Needed for REQ protocol.) | Garrett D'Amore | 2016-12-28 |
| | | |||
| * | Start of REQ protocol. Still need hook handling and resender. | Garrett D'Amore | 2016-12-28 |
| | | |||
| * | Send and receive now work. | Garrett D'Amore | 2016-12-27 |
| | | | | | | | This fixes a few core issues, and improves readability for the message queue code as well. inproc delivery of messages works now. | ||
| * | Message allocation fixed. Comparison was backwards. | Garrett D'Amore | 2016-12-27 |
| | | |||
| * | Times are 64-bits, not 32-bits! | Garrett D'Amore | 2016-12-27 |
| | | |||
| * | Buffer resizing implemented. (Needed for single threaded inproc tests.) | Garrett D'Amore | 2016-12-27 |
| | | |||
