aboutsummaryrefslogtreecommitdiff
path: root/docs/ref
Commit message (Collapse)AuthorAge
* http: The big HTTP API refactoring of January 2025.v2.0.0-alpha.3http-client-transGarrett D'Amore2025-01-09
| | | | | | | | | | | | | | | | | | | | | | This represents a major change in the HTTP code base, consisting of a complete revamp of the HTTP API. The changes here are too numerous to mention, but the end result should be a vastly simpler API for both server and client applications. Many needless allocations were removed by providing fixed buffers for various parameters and headers when possible. A few bugs were fixed. Most especially we have fixed some bugs around very large URIs and headers, and we have also addressed conformance bugs to more closely conform to RFCs 9110 and 9112. As part of this work, the APIs for WebSockets changed slightly as well. In particular the properties available for accessing headers have changed. There is still documentation conversion work to do, and additional functionality (such as proper support for chunked transfers), but this is a big step in the right direction.
* args: Convert nng_opts_parse into a header only library using `nng_args_parse`.Garrett D'Amore2025-01-04
| | | | | | | | The API is identical, except that some names have changed, and this is now a header library in `nng/args.h` - so the core library does not need to carry this code in binaries. Being a header library also means it is not necessary to link against NNG, and it does not include any parts of NNG; it only depends on a standard C99 or C11 environment.
* api: Promote idhash supplemental API to coreGarrett D'Amore2025-01-04
|
* api: remove the supplemental platform.h headerGarrett D'Amore2025-01-04
|
* api: fold TLS supplemental headers into nng.hGarrett D'Amore2025-01-04
|
* docs: minor revisions for migration guideGarrett D'Amore2025-01-04
|
* api: remove old protocol headersGarrett D'Amore2025-01-04
|
* api: rename nng_send_aio and nng_recv_aio to nng_socket_send and nng_socket_recvGarrett D'Amore2025-01-04
| | | | This aligns more closely with the nng_ctx functions.
* api: drop the 64-bit option accessors (no more 64-bit option types)Garrett D'Amore2025-01-03
|
* fixes #2061 Move IPC parameters from uint64 to intGarrett D'Amore2025-01-03
|
* docs: make the Staysail logo inline, with currentColorGarrett D'Amore2025-01-02
| | | | This makes it work better with different mdbook color schemes.
* docs: more transport doc updatesGarrett D'Amore2025-01-02
|
* docs: update some transport option docsGarrett D'Amore2025-01-02
|
* docs: remove references to asterisk wildcard, other tweaksGarrett D'Amore2025-01-02
|
* docs: document NNG_OPT_MAXTTL, other cleanupsGarrett D'Amore2025-01-02
|
* api: remove unused _uint64 options accessors for contexts and socketsGarrett D'Amore2025-01-01
| | | | Also, clarification and add socket option docs for MAXRECVSZ, RECONNMINT, RECONNMAXT
* docs: convert socket options to mdbookGarrett D'Amore2025-01-01
|
* docs: convert the context docs to mdbookGarrett D'Amore2025-01-01
|
* api: Remove the NNG_FLAG_ALLOCGarrett D'Amore2025-01-01
| | | | | | | | This flag failed to provide real zero copy that it was intended for, and it also involved extra allocations. Further, the API for it was brittle and error prone. Modern code should just work directly with nng_msg structures.
* sha1: move this to private websocket APIGarrett D'Amore2025-01-01
| | | | | | Nothing else uses it, and nothing else *should* use it because SHA1 is insecure. WebSockets have to use it by definition, unfortunately. The implementation is not very fast, but doesn't have to be for the use case of websocket keying.
* docs: add missing msg header prototypesGarrett D'Amore2025-01-01
|
* docs: Hello 2025!Garrett D'Amore2025-01-01
|
* docs: converted and improved stream factory docsGarrett D'Amore2025-01-01
|
* docs: add an example of nng_recv_aio with subv2.0.0-alpha.2Garrett D'Amore2024-12-31
|
* docs: convert socket receive docsGarrett D'Amore2024-12-31
|
* doc: document socket send API, including an exampleGarrett D'Amore2024-12-31
|
* docs: remove stray backtickGarrett D'Amore2024-12-31
|
* docs: convert nng_stream_get familyGarrett D'Amore2024-12-31
|
* docs: nanomsg transition guide - set up linksGarrett D'Amore2024-12-31
| | | | | Most of these links don't go anywhere yet (waiting to be fleshed out), but at least they are filled out by the xrefs.md file.
* api: add NNG1_MIGRATION transition assistance macroGarrett D'Amore2024-12-31
|
* socket: rename nng_close to nng_socket_closeGarrett D'Amore2024-12-31
|
* docs: progress on socket document conversionGarrett D'Amore2024-12-31
|
* docs: start of streams API documentationGarrett D'Amore2024-12-31
|
* docs: API chapter index fixesGarrett D'Amore2024-12-31
|
* docs: add xrefs for URL apiGarrett D'Amore2024-12-31
|
* docs: statistics updates, document nng_stat_parent (fixes #1896)Garrett D'Amore2024-12-31
|
* docs: fix URL documentationGarrett D'Amore2024-12-31
| | | | | | Document `nng_url_resolve_port`, make the structure opaque, fix port numbers to be uint32 (needed for some cases), and fix a missing `const` specifier.
* fixes #863 socket activation: for TCP and IPC (POSIX only)Garrett D'Amore2024-12-30
| | | | | | | | | This introduces a new option "NNG_OPT_LISTEN_FD", understood by TCP, TLS, and (on POSIX systems) IPC. This option is used to pass a file descriptor or handle (Windows) that is already listening (ready for ACCEPT to be called). For TCP and TLS, the socket must be of type AF_INET or AF_INET6, and for IPC it must be of type AF_UNIX.
* zerotier: removedGarrett D'Amore2024-12-26
| | | | | | | | | | 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.
* aio: nng_aio_defer replaced by nng_aio_startGarrett D'Amore2024-12-26
| | | | | This represents an API change, and we remove the nng_aio_begin function as well, introducing the lightweight nng_aio_reset instead.
* aio: introduce NNG_ESTOPPEDGarrett D'Amore2024-12-26
| | | | | | | | | | | This error code results when an AIO is stopped permanently, as a result of nni_aio_close or nni_aio_stop. The associated AIO object cannot be used again. This discrimantes against a file being closed, or a temporary cancellation which might allow the aio to be reused. Consumers must check for this error status in their callbacks, and not resubmit an operation that failed with this error. Doing so, will result in an infinite loop of submit / errors.
* http: limit handler uri to 1KGarrett D'Amore2024-12-22
| | | | | | | | | | | This is just the part of the tree that will be matched when looking up a handler. Requests may come in with very much longer URIs, and be matched to the handler as a "subdirectory". This approach makes it possible to avoid a dynamic allocation on the handler, at the cost of pre-allocating 1KB with the handler object. This size can be overridden using a NNG_HTTP_MAX_URI at compile time.
* http: nng_http_handler_set_data is now void return (API break)Garrett D'Amore2024-12-22
|
* nng_http_server_collect_body now void return (API break)Garrett D'Amore2024-12-22
|
* HTTP: nng_http_handler_set_method no longer failsGarrett D'Amore2024-12-22
|
* HTTP handler: limit host names to 256 bytes (RFC 1035 specifies 253.)Garrett D'Amore2024-12-22
| | | | This also makes `nng_http_handler_set_host` never fail (API break).
* http: setting response status never fails (breaking API change)Garrett D'Amore2024-12-22
|
* http: method on request structure is now staticGarrett D'Amore2024-12-22
| | | | | This saves yet another allocation. It also no longer returns a value making this a breaking change.
* 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.