summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fix cmake file.v1.3.0Garrett D'Amore2020-02-29
|
* 1.3.0 release prep.Garrett D'Amore2020-02-29
|
* fixes #1210 Undefined reference to InterlockedAddNoFence (mingw64)Garrett D'Amore2020-02-26
|
* fixes #1171 message header could be inlined in the message structureGarrett D'Amore2020-02-26
| | | | | This uses a maximum 64-byte header and should avoid allocations and cache misses, leading to a small performance boost overall.
* fixes #1201 Unexpected error return code: NNG_ENOMEMGarrett D'Amore2020-02-25
|
* fixes #1206 Document TLS engine supportGarrett D'Amore2020-02-24
|
* Update comments in http.hEvgeny Ermakov2020-02-24
|
* fixes #1202 More than 120 threads was started by NNGGarrett D'Amore2020-02-24
| | | | | | | | This introduces a new CMake option, NNG_MAX_TASKQ_THREADS, with a default value of 16. The number of taskq workers will generally be calculated as vcpu * 2. This new value, if not zero, sets an upper bound. Note that the value should be at least two, in order to ensure no deadlocks occur.
* fixes #1205 Make include guards uniqueGarrett D'Amore2020-02-24
| | | | | The nng.h header should use the same file path based guards as the rest of the headers, so NNG_NNG_H (as it is delivered as <nng/nng.h>.
* fixes #1005 TLS 1.3 supportGarrett D'Amore2020-02-23
| | | | | | | | This introduces support for an external wolfSSL plugin, and generally creates the framework for pluggable TLS implementations. The wolfSSL engine is provided via an external module (git submodule), available either under a GPLv3 license or a commercial license.
* Remove CircleCI support.Garrett D'Amore2020-02-23
| | | | | CircleCI does not by default have modern CMake, and GitHub Actions have proven to work more reliably, and with less friction.
* Added atomic check for building on ARMs (#1196)Ken Haase2020-02-14
|
* Fix typos in commentsEvgeny Ermakov2020-02-13
|
* Fix error checkstromgy2020-02-13
| | | | Most error codes in `nng_errno_enum` are positve values, so the existing error check would not catch something like `NNG_ECONNREFUSED`.
* Survey occasionally does not cancel properly.Garrett D'Amore2020-02-07
|
* fixes #1189 Extract and deprecate polyamorous modeGarrett D'Amore2020-02-07
|
* Advise on the impending demise of polyamorous mode.Garrett D'Amore2020-02-06
|
* fixes #814 mq_get_error should goGarrett D'Amore2020-02-06
|
* Convert SURVEY to use lmq and avoid message queues.Garrett D'Amore2020-02-06
| | | | | | This should make survey a little faster (which may be of benefit). But it will also enable us to eliminate one of the checks in the message queue code (#814), making everything else go faster.
* inline the pipe aios for pair0Garrett D'Amore2020-02-05
|
* Fix possible use after freeEvgeny Ermakov2020-02-05
|
* more compile fixes for legacy atomicsGarrett D'Amore2020-02-05
|
* fixes #1182 v1.2.5 build fails gcc 4.8Garrett D'Amore2020-02-05
|
* Survey test rewrite.Garrett D'Amore2020-02-05
| | | | | This bumps the coverage for survey up. While here fixed a few nits in req test, and removed the now pointless legacy survey and respond tests.
* Wordsmithing and markup changes for nng_http_handler_set_tree.Garrett D'Amore2020-01-28
|
* fixes #1134 CMake should use nng.h to determine SOVERSION etc.Garrett D'Amore2020-01-27
|
* Add possibility to explicitly set a tree handler as exclusive (#1158)Robert Bielik2020-01-27
| | | | - Default tree handler behavior is now non-exclusive - Add 'longest uri first' ordering for http handlers
* fixes #1176 Unable to build latestGarrett D'Amore2020-01-27
|
* We have moved publish to the gh-pages branch.Garrett D'Amore2020-01-23
|
* fix sections for stat man pagesGarrett D'Amore2020-01-23
|
* fixes #1141 nng_http_client_transact(), chunked encodingGarrett D'Amore2020-01-21
|
* fixes #1169 survey and xsurvey could use message cloningGarrett D'Amore2020-01-20
| | | | | | | | | | | fixes #1160 Consider limiting maximum hop count to 15 fixes #1098 Maximum maxTTL should be compile time defined This doesn't expose the max-MaxTTL in the CMakeList.txt -- there is really no reason anyone should be changing it. This does not yet inline the message header into the nni_msg_t, but it is my intention to do so soon, and eliminate most of the conditional cases for failure on inserting into the header.
* Make nngcat bash scripts executable (#1168)Robert Bielik2020-01-20
|
* fixes #1162 req_test needs to have better retry testsGarrett D'Amore2020-01-20
|
* tcp batch test is fragile.Garrett D'Amore2020-01-20
| | | | | | | | | This can depend completely on the underlying TCP stack deciding to segment -- for example if we get context away for a bit, the stack in kernel can decide to go ahead and close the segment. There isn't anything useful that this test is testing for, and it breaks randomly in CI.
* fixes #1163 compat tests are very brittleGarrett D'Amore2020-01-20
| | | | | | | This only addresses the newly rewitten compat_tcp test, but it sets the groundwork for the other tests, so that when they are updated to the new acutest.h they can use the new marry code to establish connections cleanly and safely.
* fixes #1156 Message cloning could help reduce copies a lotGarrett D'Amore2020-01-20
| | | | | | | | | | | | This introduces reference counting on messages to reduce the data copies. This should have a marked improvement when moving large messages through the system, or when publishing to many subscribers. For some transports, when using large messages, the copy time can be the dominant factor. Note that when a message is actually shared, inproc will still perform an extra copy in order to ensure that it can modify the headers. This will unfortunately always be the case with REQ, as the REQ protocol keeps a copy of the original message so it can retry.
* fixes #1159 inproc could skip message queueGarrett D'Amore2020-01-20
| | | | | | In addition, the message queue code is rather heavy weight, so this may make the inproc code a bit leaner. It also makes backpressure conditions much more reliable since it now is completely unbuffered.
* fixes #1154 perf programs could use options to select different protocolsGarrett D'Amore2020-01-19
| | | | | | | | | | | This allows --reqrep0, --pair0, --pair1, and --bus0 to be used with the inproc_lat, and also inproc_thr (though only with pair options for that for now). It also introduced --url for both programs to support testing over different transports. Also, we no longer pass out the header for REQ reply -- that is an error, and led to some unfortunate failures when reusing the message.
* fixes #1145 nng_msg options should be removedGarrett D'Amore2020-01-19
|
* fixes #1151 minor pairv1 optimizations possibleGarrett D'Amore2020-01-19
| | | | | | | We've also finished fleshing out the statistics for pairv1, addressed a possible race around the TTL, and added additional test cases to validate things. We also have tightened up the send logic to ensure we do not send a bad message on the wire (drop the malformed message on the send side).
* fixes #1142 raw mode use of message headers is inconsistentGarrett D'Amore2020-01-18
| | | | | | | | This correctly moves the entire protocol header for XREQ and XRESPONDENT protocols to the message header (not the body). This is where it should always have been. There is some small chance that applications which were coded to parse the header from the body will break. We don't think there are any such applications in use.
* Fix HTTP server root URI handling (#1140)Robert Bielik2020-01-18
| | | - Fixes #751
* TTL reads could be fewer.Garrett D'Amore2020-01-18
| | | | | | | Specifically, we don't need to read the atomic value each loop iteration. We can just get it when a message is first received, and then use that value. This should make receiving through proxies a little more efficient.
* 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.