aboutsummaryrefslogtreecommitdiff
path: root/src/core
Commit message (Collapse)AuthorAge
* Eliminate the pipe mutex and use atomic for pipe closed.Garrett D'Amore2021-09-06
| | | | | | | | | | This eliminates several mutex operations done each time a pipe is created or destroyed. For large scale systems this should reduce overall pressure on the memory subsystem, and scale better as many threads are coming and going. This also reduces the overall size of nni_pipe -- on Linux by 36 bytes typically.
* SP initialization cannot fail.Garrett D'Amore2021-09-06
|
* fixes #1498 Endpoint close/shutdown could be synchronous (#1499)Garrett D'Amore2021-09-04
|
* Minor cleanups.Garrett D'Amore2021-08-21
|
* Remove unused prototypes.Garrett D'Amore2021-08-21
|
* Move protocol.c into SP tree (it is SP specific.)Garrett D'Amore2021-08-21
| | | | Also, remove an extraneous initialization call.
* fixes #1488 aio expiration list performance work neededGarrett D'Amore2021-08-09
| | | | | | There were several problems with the array implementation, both from performance and from correctness. This corrects those errors (hopefully) and restores the expiration lists as linked lists.
* * FIX #1486 by waking up latest aio each time. (#1487)JaylinYu2021-08-09
|
* Remove separate protocol initialization step.Garrett D'Amore2021-08-07
| | | | | Nothing is using this, but it adds complexity and also requires additional lock activity each time a socket is opened.
* Minor format and spelling in comments.Garrett D'Amore2021-07-31
|
* Remove extra wrapper for platform clock support.Garrett D'Amore2021-07-22
|
* Fix some unused variables.Garrett D'Amore2021-07-22
|
* fixes #1475 nni_aio_begin should not dispatch task on stopped aioGarrett D'Amore2021-07-22
|
* Fix the wrong ratio when expire queue shrink. (#1470)wangha2021-07-16
|
* Minor clang-tidy fixes.Garrett D'Amore2021-07-11
|
* fixes #1409 reader/writer lock desiredGarrett D'Amore2021-07-11
| | | | | | This provides the initial implementation, and converts the transport lookup routines to use it. This is probably of limited performance benefit, but rwlock's may be useful in further future work.
* More symbol renamingGarrett D'Amore2021-07-11
|
* Remove unused nni_notifyfdGarrett D'Amore2021-07-10
|
* More work on moving SP stuff out of common. Remove unused defs.Garrett D'Amore2021-07-10
|
* Several minor cleanups. Fix socket id stat for listener.v1.5.0Garrett D'Amore2021-07-09
|
* Move transport.[ch] to SPGarrett D'Amore2021-07-09
|
* Test fixes.Garrett D'Amore2021-07-07
|
* Add test cases for nng_msg_reserve, etc. Convert message tests to NUTS.Garrett D'Amore2021-07-07
|
* Fix leaking pipes after close.Garrett D'Amore2021-07-07
|
* Disable clock-dependent checks on macOS in CI/CD.Garrett D'Amore2021-07-06
| | | | | | GitHub's darwin server farm appears possibly overloaded, and the timing specific checks in that environment appear to be busted. Local instances of macOS don't seem to have problems though.
* Fix for UB (NULL pointer plus zero length). (#1459)Garrett D'Amore2021-07-06
|
* Add & document msg_capacity, msg_reserve (#1458)Evan Balster2021-07-06
| | | | | | | * Add & document msg_capacity, msg_reserve * reserve/capacity code style * Documentation references to reserve/capacity
* Turn aio expire queue from nni list to array for efficiency. (#1449)wangha2021-07-06
|
* fixes #1456 bad access in OSX thread on nn (#1457)Garrett D'Amore2021-07-01
| | | | * fixes #1456 bad access in OSX thread on nn * Fix broken aio in darwin cloud.
* minor comment fixesGarrett D'Amore2021-06-02
|
* Extend times for aio_sleep cancel test for benefit of DarwinGarrett D'Amore2021-06-02
|
* Add a couple of test cases for nng_sleep_aio.Garrett D'Amore2021-03-12
|
* fixes #1413 nni_thr_setname NULL pointer dereferenceGarrett D'Amore2021-01-24
|
* Fix comment in protocol.h (#1410)Evgeny Ermakov2021-01-19
|
* fixes #808 Very slow PAIR performance compared to nanomsgGarrett D'Amore2021-01-18
| | | | | | This is only the pair v1 protocol. Pair v0 and polyamorous mode still have work to do. We probably won't "fix" the performance for poly mode since that's deprecated anyway.
* fixes #1401 valgrind reports leaks in all testsGarrett D'Amore2021-01-03
| | | | | | | This arranges for nng_fini to be called via atexit in the test version of the library. It also cleans up some of the actual tests to reduce extraneous (and in some cases incorrect) calls to nng_fini.
* Fix compilation warnings (#1397)Evgeny Ermakov2021-01-02
|
* fixes #1386 remove NNI_PROTO_FLAG_NOMSGQGarrett D'Amore2020-12-27
|
* fixes #1385 nni_thr_wait is unusedGarrett D'Amore2020-12-27
|
* fixes #972 Very slow pull/push performance compared to ZMQGarrett D'Amore2020-12-27
| | | | | | | | | | This refactors the pipeline protocol to use lightweight mq instead of the more expensive message queue structure. It also provides nicer backpressure and buffering support. The test suite was updated and converted to NUTS as well. This won't completely close the gap, but it should help quite a bit.
* fixes #1172 nni_aio_lk is white hotGarrett D'Amore2020-12-20
|
* fixes #1380 nni_aio optimizationsGarrett D'Amore2020-12-20
| | | | fixes #1048 nng_aio reuse error messages are unhelpful
* fixes #1377 nni_aio_fini should not reacquire nni_aio_lkGarrett D'Amore2020-12-20
|
* fixes #1372 nni_reap could be smallerGarrett D'Amore2020-12-19
|
* fixes #1313 support deferred nng_aio destructionGarrett D'Amore2020-12-12
|
* Move TCP out of supplemental.Garrett D'Amore2020-12-05
| | | | This was only used internally, and can live as part of core.
* Convert list to new test framework; detached node fixes.Garrett D'Amore2020-11-24
| | | | | List nodes that are not part of a list should return NULL when asking for the next or previous item.
* fixes #1358 nni_strtou64 and nni_strtox64 could be replaced with strtoullGarrett D'Amore2020-11-23
|
* New NUTS test framework (NNG Unit Test Support).Garrett D'Amore2020-11-23
| | | | | | | | | | | | | This is based on testutil/acutest, but is cleaner and fixes some short-comings. We will be adding more support for additional common paradigms to better facilitate transport tests. While here we added some more test cases, and fixed a possible symbol collision in the the stats framework (due to Linux use of a macro definition of "si_value" in a standard OS header). Test coverage may regress slightly as we are no longer using some of the legacy APIs.
* Work for test refactoring.Garrett D'Amore2020-11-18
| | | | | | | | | | | | | | | | | | | | | | There are a few major areas in this change. * CMake options are now located in a common cmake/NNGOptions.cmake file. This should make it easier for folks to figure out what the options are, and how they are used. * Tests are now scoped with their directory name, which should avoid possible name collisions with test names. * A number of tests have been either moved or incorporated into the newer testutil/acutest framework. We are moving away from my old c-convey framework to something easier to debug. * We use CMake directories a bit more extensively leading to a much cleaner CMake structure. It's not complete, but a big step in the right direction, and a preview of future work. * Tests are now run with verbose flags, so we get more test results in the CI/CD logs.