summaryrefslogtreecommitdiff
path: root/src/core/endpt.c
Commit message (Collapse)AuthorAge
* Add endpoint tuning of maxrcv size. Fix cmsg API.Garrett D'Amore2017-01-24
| | | | | | | | | | | | | | The CMSG handling was completely borked. This is fixed now, and we stash the SP header size (ugh) in the CMSG contents to match what nanomsg does. We now pass the cmsg validation test. We also fixed handling of certain endpoint-related options, so that endpoints can get options from the socket at initialization time. This required a minor change to the transport API for endpoints. Finally, we fixed a critical fault in the REP handling of RAW sockets, which caused them to always return NNG_ESTATE in all cases. It should now honor the actual socket option.
* Add nni_ep_hold, nni_ep_hold_close, nni_ep_rele, nng_endpoint_close.Garrett D'Amore2017-01-24
|
* Implement reconnect timer including backoff.Garrett D'Amore2017-01-24
| | | | This allows us to enable the last test case for compat_reqrep.
* Thread fini shouldl be idempotent.Garrett D'Amore2017-01-19
|
* Reduce lock contention and simplify logic for endpoint creation.Garrett D'Amore2017-01-18
|
* Public pipe and endpoint APIs use IDs instead of pointers.Garrett D'Amore2017-01-17
|
* Various complaints found in AppVeyor build.Garrett D'Amore2017-01-16
|
* Windows TCP now working.Garrett D'Amore2017-01-14
| | | | | | | There are lots of changes here, mostly stuff we did in support of Windows TCP. However, there are some bugs that were fixed, and we added some new error codes, and generalized the handling of some failures during accept. Windows IPC (NamedPipes) is still missing.
* Race condition fix attempt.Garrett D'Amore2017-01-07
|
* Change a bunch of copyrights to 2017 for work done since the 1st.Garrett D'Amore2017-01-05
|
* Add nng_shutdown() for sockets to help avoid close race.Garrett D'Amore2017-01-05
| | | | Also we added a two phase shutdown for threads.
* Endpoint renaming.Garrett D'Amore2017-01-02
|
* Transport renaming.Garrett D'Amore2017-01-02
|
* Transport renaming phase 1.Garrett D'Amore2017-01-02
|
* Rename nni_socket to nni_sock.Garrett D'Amore2017-01-02
|
* More structure allocation macro conversion.Garrett D'Amore2017-01-02
|
* Final purge of old threading & synch stuff.Garrett D'Amore2017-01-01
|
* Endpoint uses single thread.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.
* ECLOSED should abort the dialer.Garrett D'Amore2016-12-31
|
* Finally closed the silly endpoint / pipe use-after-free race.Garrett D'Amore2016-12-31
|
* More use after free.Garrett D'Amore2016-12-31
|
* Use after free fix.Garrett D'Amore2016-12-31
|
* Close & destroy endpoints in a single operation.Garrett D'Amore2016-12-31
|
* Remove old debug.Garrett D'Amore2016-12-31
|
* Restructure to be less confusing to uncrustify.Garrett D'Amore2016-12-31
|
* Factor out repeated protocol code into common.Garrett D'Amore2016-12-29
|
* Send and receive now work.Garrett D'Amore2016-12-27
| | | | | | This fixes a few core issues, and improves readability for the message queue code as well. inproc delivery of messages works now.
* 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.)
* Change entry points in transports to bind() and connect().Garrett D'Amore2016-12-25
| | | | | | | This was done as these entry points are more clearly associated with single function transport routines like those from BSD sockets, unlike our higher level dial() and listen() APIs that do accept() or reconnect in loops.
* New dial/listen API. Dialing might work now.Garrett D'Amore2016-12-25
| | | | | | | | | In order to give control over synchronous vs. async dialing, we provide a flag to indicate synchronous dialing is desired. (Hmm. Should we reverse the default sense?) We extend listen to have the same flag. Logic is moved to endpt.c since dialing is really and endpoint specific operation. There are other minor related bug fixes here too.
* Uncrustify fixes.Garrett D'Amore2016-12-23
|
* Implemened synchronous & asynchronuos dialer, accepter. Getting close...Garrett D'Amore2016-12-22
|
* Implemented dialer core.Garrett D'Amore2016-12-22
|
* Endpoint dialer implemented.Garrett D'Amore2016-12-22
|
* Work on endpoints. More C99 & type cleanups.Garrett D'Amore2016-12-22