aboutsummaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAge
...
* url: add nng_url_resolve_portGarrett D'Amore2024-12-06
| | | | | | This API exists to support tests and similar cases where port 0 is used to choose a dynamic port. Once the port is bound, and an actual value is known, it can be patched in using this API.
* Remove all the get_ptr option accessors.Garrett D'Amore2024-11-24
| | | | | Temporarily we have removed access to the peer alt names, but that was never used and was not tested (it also didn't work with WolfSSL.)
* Remove all the set_ptr option functions.Garrett D'Amore2024-11-24
| | | | | This hopefully ensures that we have good typed functions instead of just passing around pointers blithely.
* Remove the NNG_OPT_IPC_SECURITY_DESCRIPTOR option.Garrett D'Amore2024-11-24
| | | | | | | | This is now replaced with nng_listener_set_security_descriptor and nng_stream_listener_set_security_descriptor functions. We may elect to remove these entirely, but for named pipe users they are probably still quite useful. Moving towards UNIX domain sockets would obsolete this functionality.
* http: constify some functionsGarrett D'Amore2024-11-24
|
* Remove string option functions from sockets and contexts.Garrett D'Amore2024-11-24
| | | | | These are not needed anymore, and the semantics of string accessors is brittle, so we want to eliminate these as much as possible.
* socket: remove unused nng_socket_get_ptr and nng_socket_set_ptr.Garrett D'Amore2024-11-24
| | | | | | | | We will be removing these pointer based functions more generally as we we have type-specific accessors instead. We also removed the context versions of these functions, which were not previously documented.
* listener: add listener_create_url and listen_urlGarrett D'Amore2024-11-23
|
* dialers: add nng_dial_url and nng_dialer_create_urlGarrett D'Amore2024-11-23
| | | | | This allows a URL object to be used for dialing, which may be easier than using a string if you already have the URL object.
* core: remove NNG_OPT_URL entirelyGarrett D'Amore2024-11-23
|
* Introduce nng_listener_get_url and nng_dialer_get_url.Garrett D'Amore2024-11-21
| | | | This is intended to replace NNG_OPT_URL.
* Collect the bound port as part of the URL at bind time.Garrett D'Amore2024-11-21
| | | | This is a step on cleaning up our logic around NNG_OPT_URL.
* Use 32-bit port numbers.Garrett D'Amore2024-11-21
| | | | | While TCP and UDP port numbers are 16-bits, ZT uses a larger (24-bit) port number.
* Introduce accessors for nng_url struct and make it opaque.Garrett D'Amore2024-11-18
| | | | | This provides safety by ensuring that applications do not depend on the size or layout of nng_url itself.
* URL refactor part 1.Garrett D'Amore2024-11-18
| | | | | | | This eliminates most (but not all) of the dynamic allocations associated with URL objects. A number of convenience fields on the URL are removed, but we are able to use common buffer for most of the details.
* More url work. Undocument rawurl, and stop using it stats and logs.Garrett D'Amore2024-11-17
| | | | | | | Also expose nng_url_sprintf() for users who need it. This avoids some need to do dynamic memory on some things. Soon the entirety of nng_url will be allocation free in the usual case.
* URL u_port should be a number not a string.Garrett D'Amore2024-11-17
| | | | | | | | | | | The idea here is to reduce the dynamic allocations used for URLs, and also the back and forth with parsing begin strings and port numbers. We always resolve to a port number, and this is easier for everyone. The real goal in the long term is to eliminate dynamic allocation of the URL fields altogether, but that requires a little more work. This is a step in the right direction.
* intern URL schemeGarrett D'Amore2024-11-17
|
* remove NNG_OPT_SOCKNAME (and socket names altogether)Garrett D'Amore2024-11-17
| | | | | | | | This functionality was provided principally for libnanomsg compatibility. This saves some memory and eliminates some pointless functionality. While here, updated the socket options documentation to remove references to options already removed.
* tls: remove support for TLS 1.0 and 1.1.Garrett D'Amore2024-11-16
| | | | | Those old algorithms are not used anywhere, and are not recommended. TLS 1.2 support has been prevalent for over a decade.
* refactor initialization/finalizationGarrett D'Amore2024-11-11
| | | | | | | | | Applications must now call nng_init(), but they can supply a set of parameters optionally. The code is now safe for multiple libraries to do this concurrently, meaning nng_fini no longer can race against another instance starting up. The nni_init checks on all public APIs are removed now.
* TLS configuration changed to use discret _set_tls and _get_tls functions.Garrett D'Amore2024-11-09
| | | | This is simpler, and more reliable than using socket options.
* Remove left over prototype for nng_socket_get()Garrett D'Amore2024-11-04
|
* Remove untyped nng_socket_get and nng_socket_set.Garrett D'Amore2024-11-03
|
* Remove untyped nng_dialer_get/set and nng_listener_get/set.Garrett D'Amore2024-11-03
|
* Remove nng_ctx untyped option functionsGarrett D'Amore2024-11-03
|
* Remove untyped stream option functions.Garrett D'Amore2024-11-03
| | | | | The underlying stream APIs have no need for untyped accessors. Another step on the road to removal of NNI_TYPE_OPAQUE.
* Replace NNG_OPT_SUB_SUBSCRIBE/UNSUBSCRIBE with functions.Garrett D'Amore2024-11-03
| | | | | The main purpose is to eliminate the NNI_TYPE_OPAQUE options, by putting these into their own first class, protocol-specific, functions.
* Replace `NNG_OPT_RAW` with `nng_socket_raw`.Garrett D'Amore2024-11-02
| | | | Similar to the other identities, this simplifies code a bit.
* Replace `NNG_OPT_PROTO`, `NNG_OPT_PROTONAME`, and friends with functions.Garrett D'Amore2024-11-02
| | | | | | Socket options were a little awkward, and these are core properties of the socket. Few if any applications need these. This also avoids some dynamic allocations.
* Remove nng_ctx/socket_set/get_addrGarrett D'Amore2024-11-02
| | | | | Support for setting or getting sockaddrs on sockets or on contexts makes little sense, since these are always transport specific.
* NNG_OPT_RECVFD and NNG_OPT_SENDFD converted to functions.Garrett D'Amore2024-11-02
| | | | | | | | | | These options are removed entirely, and their functionality is now available via special functions, `nng_socket_get_send_poll_fd` and `nng_socket_get_recv_poll_fd`, making these first class methods on the socket. This eliminates a bit of wasteful code, and provides type safety for these methods.
* Remove nng_stream_set function family.Garrett D'Amore2024-10-28
| | | | This was not really used or useful.
* streams: drop some stream set functionsGarrett D'Amore2024-10-28
| | | | | | | | | | | We don't need nng_stream_set_addr nor nng_stream_set_ptr. These methods are simply not useful for streams, which have their properties established at creation time. Arguably in fact, all of nng_stream_set_* could go away -- the only properties it is implemented for are TCP keepalive and nodelay tuning, and those should be reasonably set by the creator of the stream.
* tls: move definitions to core nng.hGarrett D'Amore2024-10-28
| | | | | | TLS is not really merely supplemental anymore. Its pretty fundamental. Let's make it accessible directly. This will allow us to define typed property access functions.
* tls: Remove the individual TLS configuration optionsGarrett D'Amore2024-10-28
| | | | | | | | This is a breaking change. TLS configuration changes are to be made using TLS configuration objects, and then set on a listener or dialer with NNG_OPT_TLS_CONFIG. This should be a bit less racy, and allows for simpler code.
* Use `const` for nng_stat when possible.Garrett D'Amore2024-10-20
| | | | | This should help the compiler enforce checks, and may result in better optimizations.
* UDP: numerous fixes, added test for copy breakGarrett D'Amore2024-10-13
| | | | | | There were several bugs here, including use-after-free, a problem when the copy limit was exceeded, and uninitialized receive thresholds.
* UDP: add some statisticsGarrett D'Amore2024-10-12
|
* Remove the last of the legacy option handling functions.Garrett D'Amore2024-10-06
|
* Remove deprecated context option functions.Garrett D'Amore2024-10-06
|
* Drop the legacy listener option functionsGarrett D'Amore2024-10-06
|
* Remove dialer legacy option functionsGarrett D'Amore2024-10-06
|
* Drop unused nng_msg_getoptGarrett D'Amore2024-10-06
|
* Remove unused legacy nng_closeall.Garrett D'Amore2024-10-06
|
* Remove deprecated `nng_pipe_getopt` and friends.Garrett D'Amore2024-10-06
|
* Remove the legacy transport registration functions.Garrett D'Amore2024-10-06
| | | | | | This also allows to remove most of the transport headers. Only zerotier.h sticks around, and only for now. (We expect to eject it into a separate module.)
* Flag build packages as 2.0.0-dev.Garrett D'Amore2024-10-06
|
* idhash: add nng_id_visit APIGarrett D'Amore2024-08-11
| | | | | | This allows an efficient way to iterate over the entries stored in an ID hash. The iteration is fast, and requires no additional storage. The order of iteration is not guaranteed.
* fixes #1846 Add support for TLS PSKGarrett D'Amore2024-07-21
| | | | | | This also adds an SP layer transport test for TLS, based on the TCP test but with some additions; this test does not cover all the edge cases for TLS, but it does at least show how to use it.