aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* xrespond should use atomic TTL.Garrett D'Amore2020-01-18
|
* inproc can use msg_header_clear to save a branch.Garrett D'Amore2020-01-16
|
* RESPOND needs to use atomic for TTL.Garrett D'Amore2020-01-16
| | | | | Also, add a test to cover the RESPOND protocol. This gets about 95% of the coverage.
* XSURVEY test suite added.Garrett D'Amore2020-01-13
|
* Give time for REQ backpressure to ease in test suite.Garrett D'Amore2020-01-13
|
* Remove the old PUB/SUB tests.Garrett D'Amore2020-01-13
| | | | | | The new tests are more exhaustive, and cover everything. We also added a case for testing that posting messages that we didn't subscribe too doesn't raise the pollable flag.
* fixes #1131 (openindiana) compile errorGarrett D'Amore2020-01-12
|
* Add PUB/SUB test suite.Garrett D'Amore2020-01-12
| | | | | | | This gets near 100% coverage of the PUB/SUB protocols. The remaining uncovered bits will need to have a mock protocol that runs slower, so that we can inject both back pressure, and also so that we can inject "erroroneous" messages.
* fixes #1132 Masking error in LMQ leads to corruptionGarrett D'Amore2020-01-12
|
* Test coverage improvements for REQ/REP.Garrett D'Amore2020-01-12
| | | | | | | | This also fixes a possible bug if mixing poll file descriptors and contexts on the same socket. Most folks are unlikely to ever run into this bug. At this point the REQ/REP coverage is nearly complete (over 95%).
* XREQ and others race on TTL.Garrett D'Amore2020-01-11
| | | | | | | | | | The TTL in these cases should have been atomic. To facilitate things we actually introduce an atomic int for convenience. We also introduce a convenience nni_msg_must_append_u32() and nni_msg_header_must_append_u32(), so that we can eliminate some failure tests that cannot ever happen. Combined with a new test for xreq, we have 100% coverage for xreq and more coverage for the other REQ/REP protocols.
* fixes #1124 data race on ttl in xrepGarrett D'Amore2020-01-09
|
* fixes #1094 Consider in-lining task and aioGarrett D'Amore2020-01-08
| | | | | This only does it for rep, but it also has changes that should increase the overall test coverage for the REP protocol
* fixes #1117 task structures should be inlinedGarrett D'Amore2020-01-06
|
* fixes #1116 task_reap can be eliminatedGarrett D'Amore2020-01-05
|
* fixes #1112 POSIX pollq finalizers could be simplerGarrett D'Amore2020-01-05
| | | | | | | | | | | We reap the connections when closing, to ensure that the clean up is done outside the pollq thread. This also reduces pressure on the pollq, we think. But more importantly it eliminates some complex code that was meant to avoid deadlocks, but ultimately created other use-after-free challenges. This work is an enabler for further simplifications in the aio/task logic. While here we converted some potentially racy locking of the dialers and reference counts to simpler lock-free reference counting.
* fixes #1096 inline all 16 iovs in aio (also consider reducing -- to 8?)Garrett D'Amore2020-01-04
| | | | fixes #1097 aio prov_data not used at all
* fixes #1105 pollable can be inlined, and use atomicsGarrett D'Amore2020-01-04
| | | | | This also introduces an nni_atomic_cas64 to help with lock-free designs. Some mechanical renaming was done in some of the protocols for spelling.
* fixes #1104 move allocation of protocol objects to common coreGarrett D'Amore2020-01-03
| | | | fixes #1103 respondent could inline backtrace
* More REP protocol coverage tests.Garrett D'Amore2020-01-02
|
* Limit the batch size, and set some timeouts for compat_tcp.Garrett D'Amore2020-01-02
|
* fixes #1099 Should inline backtrace buffer in REPGarrett D'Amore2020-01-02
|
* Fixes broken win32 build. (#1092)Cody Piersall2020-01-02
| | | | | | When using the 32-bit Windows compiler, the functions InterlockedIncrementAcquire64() and and InterlockedDecrementRelease64() are not defined. So we fall back to the more generic InterlockedAcquire64() and InterlockedDecrement64() on 32-bit Windows.
* fixes #1090 nni_strlcat is unusedGarrett D'Amore2020-01-02
|
* fixes #1088 REP protocol does not signal SENDFD properlyGarrett D'Amore2020-01-01
| | | | | We've also added some TEST_NNG_SEND_STR and TEST_NNG_RECV_STR to help with convenience when writing test code.
* fixes #1083 Random number improvementsGarrett D'Amore2020-01-01
|
* Add error message for NNG_ECONNSHUT (#1084)Robert Bielik2020-01-01
| | | | | | * Add error message for NNG_ECONNSHUT * Added missing space after string.
* Fixup a few codacy complaints.Garrett D'Amore2020-01-01
|
* fixes #1081 Use after free possible in statsGarrett D'Amore2020-01-01
| | | | | | | fixes #1080 Desire better way to access statistics for NNG objects We've also added a test that uses some of this, in order to verify that the req protocol rejects invalid peers.
* fixes #1079 Use after free panic in tcp_dialerGarrett D'Amore2019-12-30
|
* fixes #1075 WebSocket heap use after freeGarrett D'Amore2019-12-30
| | | | | This also introduces a new atomic boolean type, so we can use that to trigger whether we've added the HTTP handler or not.
* Fix compilation errors and warnings when NNG_ENABLE_STATS is OFFRobert Bielik2019-12-30
|
* Add http server method for getting addressRobert Bielik2019-12-29
|
* fixes #1059 compat_tcp test sometimes times outGarrett D'Amore2019-12-29
|
* fixes #1064 Potential deadlock in statistics codeGarrett D'Amore2019-12-29
| | | | | | | | fixes #1063 Include sanitizer runs in CI fixes #1068 Wssfile test sometimes fails with wrong error code While here, addressed a number of clang-tidy items, and some light cleanup of code we were already in.
* Silence a few clang-tidy complaints.Garrett D'Amore2019-12-29
|
* Remove some unused includes from POSIX resolver.Garrett D'Amore2019-12-29
|
* fixes #1065 resolver leaks work structuresGarrett D'Amore2019-12-29
| | | | | | This includes changes to support setting the sanitizer *correctly* (the old code CMake stuff didn't quite get it right), and addresses a number of failures in the test code found by the address sanitizer.
* fixes #1062 Windows client connections cannot get NNG_OPT_LOCADDRGarrett D'Amore2019-12-28
|
* fixes #986 ws_read_finish_str free invalid pointerGarrett D'Amore2019-12-28
| | | | | | Also, this has refactored the websocket stream test to the new acutest.h, and includes a much deeper test of fragmentation and reassembly of websocket streams.
* Brittleness in pair1 mono faithful test.Garrett D'Amore2019-12-27
|
* fixes #1057 reqpoll test fails (bad test logic) sometimesGarrett D'Amore2019-12-27
| | | | The reqpoll test is now moved into the common req/rep logic.
* Bind to IP address -- localhost might not go where you think.Garrett D'Amore2019-12-27
| | | | Seeing this failure in the cloud on Darwin.
* Allow more time for the listener to get going in the cloud.Garrett D'Amore2019-12-27
|
* Move the WSS file test, and hopefully provide more debuggability.Garrett D'Amore2019-12-27
|
* Add possibility to use mbedtls cmake target if availableRobert Bielik2019-12-27
|
* fixes #1051 nni_ntop is unusedGarrett D'Amore2019-12-27
|
* fixes #1037 http client crashes (pthread lock bugs)Garrett D'Amore2019-12-26
| | | | | | This reference counts both TCP and IPC dialers running on POSIX configurations, as we need to take care not to destroy the dialer until any streams associated with are completely destroyed.
* Various clang tidy fixups in the POSIX pollers.Garrett D'Amore2019-12-26
|
* fixes #1040 Convert rest of the protocols to new CMake infraGarrett D'Amore2019-12-25
|