| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | http: The big HTTP API refactoring of January 2025.v2.0.0-alpha.3http-client-trans | Garrett D'Amore | 2025-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. | ||
| * | Update CMakeLists.txt | Vũ Quang Thịnh | 2025-01-09 |
| | | | | Fix typo of filename. Can not find filename | ||
| * | nng/args.h: add header guard | Garrett D'Amore | 2025-01-06 |
| | | |||
| * | http: server callback API simplified | Garrett D'Amore | 2025-01-06 |
| | | | | | | | | | | | This simplified API lets callbacks obtain the response from the connection objection directly, and does not require the aio to carry it as a parameter. Further, the request and response are both stored inline in the connection, reducing allocations. This is at present only for the server; the client will get a similar set of changes. | ||
| * | http: changing transaction API to inline req and res structures | Garrett D'Amore | 2025-01-05 |
| | | | | | | This is a step towards simplifying this API and ultimately simplifying the HTTP callback API used for the server side. | ||
| * | posix: move tcpdialer definition out of shared header | Garrett D'Amore | 2025-01-05 |
| | | |||
| * | platform: remove reader/writer locks | Garrett D'Amore | 2025-01-05 |
| | | | | | | | The only thing using this was the transport lookups, but as those transports are now fully initialized in nng_init, we no longer need to lock that at all. | ||
| * | platform: eliminate NNI_CV_INITIALIZER altogether | Garrett D'Amore | 2025-01-05 |
| | | |||
| * | reap: use sys init and fini instead of NNI_CV_INITIALIZER. | Garrett D'Amore | 2025-01-05 |
| | | | | | The CV_INITIALIZER is error prone, as it cannot use cv_until. | ||
| * | pthreads: avoid double indirection for cv mutex | Garrett D'Amore | 2025-01-05 |
| | | |||
| * | Liberally apply some UWYI (use what you include) to header files | Garrett D'Amore | 2025-01-05 |
| | | |||
| * | args: Convert nng_opts_parse into a header only library using `nng_args_parse`. | Garrett D'Amore | 2025-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 core | Garrett D'Amore | 2025-01-04 |
| | | |||
| * | api: remove the supplemental platform.h header | Garrett D'Amore | 2025-01-04 |
| | | |||
| * | tests: make NUTS_PASS use TEST_ASSERT | Garrett D'Amore | 2025-01-04 |
| | | | | | | This will ensure that we fast fail if a test cannot complete, rather than muddling on and reporting failures elsewhere. | ||
| * | tests: TLS transport test resilience against EADDRINUSE | Garrett D'Amore | 2025-01-04 |
| | | | | | This was occasionally causing "sigabrt" and similar failures in the tests. | ||
| * | docs: remove converted nng_socket.7 doc | Garrett D'Amore | 2025-01-04 |
| | | |||
| * | docs: remove tls_engine stub doc | Garrett D'Amore | 2025-01-04 |
| | | |||
| * | api: fold TLS supplemental headers into nng.h | Garrett D'Amore | 2025-01-04 |
| | | |||
| * | api: remove dead NNG_OPT_URL macro | Garrett D'Amore | 2025-01-04 |
| | | |||
| * | docs: minor revisions for migration guide | Garrett D'Amore | 2025-01-04 |
| | | |||
| * | api: remove old protocol headers | Garrett D'Amore | 2025-01-04 |
| | | |||
| * | zerotier: remove unused zerotier.h transport header | Garrett D'Amore | 2025-01-04 |
| | | |||
| * | cmake: remove unused compat test macro | Garrett D'Amore | 2025-01-04 |
| | | |||
| * | compat: remove unused leftover libnanomsg compatibility headers | Garrett D'Amore | 2025-01-04 |
| | | |||
| * | api: rename nng_send_aio and nng_recv_aio to nng_socket_send and nng_socket_recv | Garrett D'Amore | 2025-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'Amore | 2025-01-03 |
| | | |||
| * | ipc: minor adjustments for ECLOSED and logging | Garrett D'Amore | 2025-01-03 |
| | | |||
| * | fixes #2061 Move IPC parameters from uint64 to int | Garrett D'Amore | 2025-01-03 |
| | | |||
| * | docs: make the Staysail logo inline, with currentColor | Garrett D'Amore | 2025-01-02 |
| | | | | | This makes it work better with different mdbook color schemes. | ||
| * | docs: more transport doc updates | Garrett D'Amore | 2025-01-02 |
| | | |||
| * | docs: update some transport option docs | Garrett D'Amore | 2025-01-02 |
| | | |||
| * | docs: remove references to asterisk wildcard, other tweaks | Garrett D'Amore | 2025-01-02 |
| | | |||
| * | docs: document NNG_OPT_MAXTTL, other cleanups | Garrett D'Amore | 2025-01-02 |
| | | |||
| * | api: remove unused _uint64 options accessors for contexts and sockets | Garrett D'Amore | 2025-01-01 |
| | | | | | Also, clarification and add socket option docs for MAXRECVSZ, RECONNMINT, RECONNMAXT | ||
| * | docs: convert socket options to mdbook | Garrett D'Amore | 2025-01-01 |
| | | |||
| * | README: revised information about mdbook | Garrett D'Amore | 2025-01-01 |
| | | |||
| * | docs: convert the context docs to mdbook | Garrett D'Amore | 2025-01-01 |
| | | |||
| * | api: Remove the NNG_FLAG_ALLOC | Garrett D'Amore | 2025-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. | ||
| * | demos: Demos do not need to use find_package for Threads | Garrett D'Amore | 2025-01-01 |
| | | | | | | The CMAKE framework does this properly now by ensuring that nng uses nng_find_package for any of its own dependencies. | ||
| * | cmake: ensure that MbedTLS and WolfSSL can be found properly as subprojects | Garrett D'Amore | 2025-01-01 |
| | | | | | | Using nng_find_package as the helper fixes this, by ensuring that the dependency gets properly added to incorporating projects. | ||
| * | demos: raw and async demos should use nng_init | Garrett D'Amore | 2025-01-01 |
| | | |||
| * | demo: call nng_init in http_client | Garrett D'Amore | 2025-01-01 |
| | | |||
| * | demo: fix reqrep demo to use nng_init | Garrett D'Amore | 2025-01-01 |
| | | |||
| * | demo: fix rest server (must initialize NNG library) | Garrett D'Amore | 2025-01-01 |
| | | |||
| * | http: fix zero status code by default | Garrett D'Amore | 2025-01-01 |
| | | | | | | This is a recent regression that affects any server that does not explicitly set an HTTP status code. | ||
| * | demos: fix pubsub_forwarder to call nng_init | Garrett D'Amore | 2025-01-01 |
| | | |||
| * | stream demo: fix compilation, add server mode | Garrett D'Amore | 2025-01-01 |
| | | | | | This is tested and shown to work now. | ||
| * | base64: move it to private for websockets | Garrett D'Amore | 2025-01-01 |
| | | | | | | | There are no other consumers for this, and reasonably unlikely to be others for now. (Other use cases are JWTs, but that would be another whole set of functionality that we're not ready to take on.) | ||
| * | sha1: move this to private websocket API | Garrett D'Amore | 2025-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. | ||
