| Commit message (Collapse) | Author | Age |
| | |
|
| |
|
|
|
|
|
|
|
|
| |
All vestiges of ZeroTier have been removed. Also, as consequence,
some binary values have changed (specifically the number of the
address family used for NNG_AF_ABSTRACT.)
We may create a new ZeroTier transport that makes use of lwIP to
provide for ZeroTier and native host network coexistence, without
requiring ZeroTier to participate in the native networking stack.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Also renamed this to tcp_stream_test.
|
| | |
|
| | |
|
| |
|
|
|
| |
While here we added a test for nng_cv_wake1 to demonstrate it does
not fall afoul of the thundering herd.
|
| | |
|
| | |
|
| |
|
|
|
| |
TCPv6 not done yet since that needs special work to be conditionalized.
Also tcpsupp remains to be converted.
|
| |
|
|
|
|
|
|
| |
This actually represents a conversion of the transport tests implemented
in Convey terms to NUTS. As part of this, have implemented a simple
round trip performance test, using PAIR.
The rest of the transport tests will shortly be converted to this as well.
|
| |
|
|
|
| |
This also adds more tests for additional test cases (aio, and
more validations of incompatible device configurations).
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Transport specific options should be configured on the end point.
This has the most impact for TLS, as TLS dialers and listeners will
need to be allocated apriori, to configure TLS options.
Some legacy tests were removed... we're going to remove the legacy
libnanomsg compatibility layer anyway.
|
| |
|
|
|
|
| |
This also restores the IPv6 sanity check. Note that UDP is still
not supported as a transport, but this can be used to implement
higher level transports such as ZeroTier (or later QUIC).
|
| |
|
|
|
|
| |
This option allows the compatibility code to be elided from the build.
This saves build time, and eliminates bloat from a static library when
used strictly in native NNG mode.
|
| |
|
|
|
| |
Also this fixes problems with uninitialized socket names, and the
socket name stat not being adjusted correctly when set via API.
|
| |
|
|
|
|
|
|
|
|
| |
This should give significant performance boosts to anyone using this
protocol. Buffering on both the send and receive side is supported,
with a default buffer size of 16 messages. This should help provide
a reasonable default case for most users.
While here updated the test for bus to much more complete
NUTS style test framework, with increased coverage.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
List nodes that are not part of a list should return NULL when
asking for the next or previous item.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
This doesn't modularize all the tests yet, but it goes a long way
in the right direction.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fixes #1326 Linux IPC could use fchmod
fixes #1327 getsockname on ipc may not work
This introduces an abstract:// style transport, which on Linux
results in using the abstract socket with the given name (not
including the leading NULL byte). A new NNG_AF_ABSTRACT is
provided. Auto bind abstract sockets are also supported.
While here we have inlined the aios for the POSIX ipc pipe
objects, eliminating at least one set of failure paths, and
have also performed various other cleanups.
A unix:// alias is available on POSIX systems, which acts just
like ipc:// (and is fact just an alias). This is supplied so
that in the future we can add support for AF_UNIX on Windows.
We've also absorbed the ipcperms test into the new ipc_test suite.
Finally we are now enforcing that IPC path names on Windows are
not over the maximum size, rather than just silently truncating
them.
|
| |
|
|
|
|
|
|
|
|
| |
fixes #1317 IPv6 listener get port is incorrect
fixes #1319 Want symbolic service names
This is phase 1 of reducing the memory foot-print of aios, and
also of pipes. This removes the largest consumer the socket
address information, from the aio, which was only used by a few
consumers.
|
| |
|
|
|
| |
This test no longer offers any real value, and its fixed port
allocation dependency makes it too brittle in CI/CD.
|
| |
|
|
|
|
|
|
|
|
|
| |
fixes #1288 id allocation can overallocate
fixes #1126 consider removing lock from idhash
This substantially refactors the id hash code, giving a cleaner API,
and eliminating a extra locking as well as some wasteful allocations.
The ZeroTier code has it's own copy, that is 64-bit friendly, as the
rest of the consumers need only a simpler 32-bit API.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
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.
|
| |
|
|
| |
The reqpoll test is now moved into the common req/rep logic.
|
| | |
|
| | |
|