| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | Race conditions removed... TCP tests work well know. | Garrett D'Amore | 2017-07-15 |
| | | |||
| * | Some initial progress on *connect* async. | Garrett D'Amore | 2017-07-15 |
| | | | | | | | This actually is breaking at the moment, because we don't have good integration with timeouts, and there are some frustrating races with timeouts at points that can cause apparent hangs. | ||
| * | Implemented asynchronous (fully) accept. | Garrett D'Amore | 2017-07-14 |
| | | | | | | | This logic leaves a race condition in the dial side, which will be fixed with a subsequent change to convert that to fully asynchronous as well. | ||
| * | Close a race during pipe creation. | Garrett D'Amore | 2017-07-13 |
| | | |||
| * | Use the same pipe teardown in all circumstances. | Garrett D'Amore | 2017-07-13 |
| | | |||
| * | Use the same flow regardless of whether pipe start is used or not. | Garrett D'Amore | 2017-07-13 |
| | | | | | | | This means that pipe_start always succeeds, and we can guarantee that the pipe_start_cb is always executed, and in another context. This may help when we need to change the way that sockets and endpoints are associated. | ||
| * | Simplify pipe logic, going back to idhash. | Garrett D'Amore | 2017-07-13 |
| | | |||
| * | Make idhash non-inlined (so we can add a mutex.) | Garrett D'Amore | 2017-07-13 |
| | | |||
| * | 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 |
| | | |||
| * | Move IPC negotiation out of connect/accept. | Garrett D'Amore | 2017-07-05 |
| | | | | | | | This prevents a slow partner from blocking new connections from being established on the server. Before this a single partner could cause the server to block waiting to complete the negotiation. | ||
| * | Cleanup some unused things. | Garrett D'Amore | 2017-07-05 |
| | | |||
| * | More aio name cleanups. | Garrett D'Amore | 2017-07-02 |
| | | |||
| * | Remove the extra _aio_ part of pipe send and recv functions. | Garrett D'Amore | 2017-07-02 |
| | | |||
| * | pipe_send and recv can be void. | Garrett D'Amore | 2017-07-02 |
| | | |||
| * | Transports allocate their pipe structures during connect & accept. | Garrett D'Amore | 2017-07-02 |
| | | |||
| * | We don't need pipe_hold or pipe_rele anymore. | Garrett D'Amore | 2017-06-28 |
| | | |||
| * | Refactor stop again, closing numerous races (thanks valgrind!) | Garrett D'Amore | 2017-06-28 |
| | | |||
| * | Fix a few race condition panics. | Garrett D'Amore | 2017-06-25 |
| | | |||
| * | Protocols keep their own reference counts. | Garrett D'Amore | 2017-06-24 |
| | | |||
| * | Make APIs for holding references more consistent. | Garrett D'Amore | 2017-06-21 |
| | | |||
| * | Eliminate pipes global idhash. | Garrett D'Amore | 2017-06-09 |
| | | |||
| * | pipe destroy need not be synchronous. | Garrett D'Amore | 2017-06-09 |
| | | |||
| * | Pipes are now mostly using object hash -- taskq_cancel race TBD. | Garrett D'Amore | 2017-06-08 |
| | | |||
| * | Create the pipe object hash (not used yet). | Garrett D'Amore | 2017-06-07 |
| | | |||
| * | Clean up some dead code. | Garrett D'Amore | 2017-03-29 |
| | | |||
| * | 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 |
| | | |||
| * | More API cleanups to separate interfaces. (nni_pipe_create). | Garrett D'Amore | 2017-03-19 |
| | | |||
| * | Reduce socket/pipe private data coupling. | Garrett D'Amore | 2017-03-19 |
| | | |||
| * | Start of close related race fixes. Scalability test. | Garrett D'Amore | 2017-03-10 |
| | | |||
| * | Start of msgq aio. | Garrett D'Amore | 2017-03-01 |
| | | |||
| * | fixes #12 SURVEY hang in Travis | Garrett D'Amore | 2017-01-18 |
| | | |||
| * | Pipe IDs are now tracked on global ID hashes. | Garrett D'Amore | 2017-01-17 |
| | | |||
| * | Pipe IDs are now tracked by hash table for performance. | Garrett D'Amore | 2017-01-17 |
| | | | | | | This gives a better idea of pipe ID uniqueness, and is a step towards conversion of the API to use IDs instead of pointers. | ||
| * | New ISAAC pRNG. This replaces other local hacks for random data. | Garrett D'Amore | 2017-01-08 |
| | | | | | | | Platforms must seed the pRNGs by offering an nni_plat_seed_prng() routine. Implementations for POSIX using various options (including the /dev/urandom device) are supplied. | ||
| * | 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. | ||
| * | Pipe bail shouldn't mess with lists. Doh! | Garrett D'Amore | 2017-01-07 |
| | | |||
| * | Uncrustify fix for last. | Garrett D'Amore | 2017-01-07 |
| | | |||
| * | Race condition fix attempt. | Garrett D'Amore | 2017-01-07 |
| | | |||
| * | 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 |
| | | |||
| * | 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 |
| | | |||
| * | Rename nni_socket to nni_sock. | Garrett D'Amore | 2017-01-02 |
| | | |||
| * | Use new NNI_ALLOC_STRUCT macro. nni_msg_dup copies options too. | Garrett D'Amore | 2017-01-02 |
| | | |||
| * | Final purge of old threading & synch stuff. | 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. | ||
