| Commit message (Collapse) | Author | Age |
| | |
|
| |
|
|
|
|
|
|
|
|
| |
demo/async/client.c
- Enable client, on dial, to wait for server that has not yet started
demo/async/arun.sh
- Run async demo with arbitrary start order of server wrt clients
|
| |
|
|
|
|
|
| |
This fixes problems finding the threads library. There may
still be problems building these with TLS libraries added,
as those dependencies may not be satisfied if the library lacks
a cmake configuration file.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
| |
This saves yet another allocation. It also no longer returns a value
making this a breaking change.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This allows us to explicitly stop streams, dialers, and listeners,
before we start tearing down things. This hopefully will be useful
in resolving use-after-free bugs in http, tls, and websockets.
The new functions are not yet documented, but they are
nng_stream_stop, nng_stream_dialer_stop, and nng_stream_listener_stop.
They should be called after close, and before free. The close
functions now close without blocking, but the stop function is
allowed to block.
|
| | |
|
| |
|
| |
change message to function name
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Change all shebangs to use '#!/usr/bin/env bash'.
This increases portability to platforms which do not cohere to the FHS.
|
| |
|
|
|
| |
* Extend the reqdep demo with ZeroTier transport
* tab indentation
|
| | |
|
| |
|
|
| |
Most error codes in `nng_errno_enum` are positve values, so the existing error check would not catch something like `NNG_ECONNREFUSED`.
|
| |
|
|
| |
from being compiled on Windows.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This recycles the job structures, and so the demo seems
to work. If you have sufficient concurrency, these aio
structures will ultimately leak (with the level of concurrency),
but for this demo that's fine. (To keep them from leaking, you'd
walk the freelist and discard them just before exiting. The
actual growth of the list should be quite small.) There are
other strategies that could be used to avoid uncontrolled growth,
but they aren't useful for our demo purposes. Also, when we have
a fix for 511, we can go ahead and just do a deferred discard.
As aios are used *heavily* in the code, the strategy of a deferred
cache may help reduce presssure on the heap, andd might be something
we want to explore for the core.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fixes #485 Honor BUILD_SHARED_LIBS
fixes #483 Don't expose private symbols in shared library
fixes #481 Export CMake target
This is a "large" commit involving changes that don't affect the
code directly, but which have an impact on how we package and build
our project.
The most significant of these changes is that we now build only
either a shared or a static library, depending on the setting of
the BUILD_SHARED_LIBS option. We also suppress private symbols
from being exposed when the underlying toolchain lets us do so.
Minor updates to the way we version the ABI are used, and we now
have a nice exported CMake project.
To import this project in another, simply do find_package(nng)
and you can add target_link_libraries(nng::nng) to your targets.
CMake does the rest for you.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
We enabled verbose compiler warnings, and found a lot of issues.
Some of these were even real bugs. As a bonus, we actually save
some initialization steps in the compat layer, and avoid passing
some variables we don't need.
|
| | |
|
| |
|