aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* demos: fix pubsub_forwarder to call nng_initGarrett D'Amore2025-01-01
|
* stream demo: fix compilation, add server modeGarrett D'Amore2025-01-01
| | | | This is tested and shown to work now.
* base64: move it to private for websocketsGarrett D'Amore2025-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 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.
* protocols: move content from the protocols to nng.hGarrett D'Amore2025-01-01
| | | | | This should simplify things for developers. Just one header to include in most cases now.
* docs: remove some converted contentGarrett D'Amore2025-01-01
|
* 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: remove some old converted contentGarrett D'Amore2024-12-31
|
* docs: convert socket receive docsGarrett D'Amore2024-12-31
|
* tests: use zero port for performance testGarrett D'Amore2024-12-31
| | | | This is another occasional test failure due to EADDRINUSE that we can avoid.
* 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.
* docs: clean up some old stuffGarrett D'Amore2024-12-31
|
* docs: drop old nng_iov content (converted)Garrett D'Amore2024-12-31
|
* 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: remove converted nng_stats_free old docGarrett D'Amore2024-12-31
|
* .gitignore updatesGarrett D'Amore2024-12-31
|
* docs: start of streams API documentationGarrett D'Amore2024-12-31
|
* workflows: no need for code analysis on docsGarrett 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.
* websocket tests: more resilience against EADDRINUSEGarrett D'Amore2024-12-31
|
* Enhance demo/async/ to allow async dial by clientBrian Carcich2024-12-31
| | | | | | | | | | 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
* pipes: fix crash caused by use after free race in rejectionGarrett D'Amore2024-12-30
|
* * MDF [core/socket] correct stat desc of rx_bytesJaylin2024-12-30
|
* poll poller: support concurrency for pollers using poll()Garrett D'Amore2024-12-30
|
* poller: port events scalability (illumos/Solaris)Garrett D'Amore2024-12-30
|
* fixes #530 POSIX pollqs should scale horizontally (epoll)Garrett D'Amore2024-12-30
| | | | | | | | This should help Linux platforms scale even further with NNG. Port events and *maybe* poll are the last to do. Probably select will remain left in the cold, because honestly select based systems are already performance constrained.
* kqueue: support concurrent pollersGarrett D'Amore2024-12-30
| | | | | | | | | | | | | This allows greatly increased scalability for kqueue based systems with lots of cores (more likely FreeBSD than Darwin, as most macs only have a smattering of cores), but even for macs we can engage a few cores for system calls giving improvements. The implementation here is pretty simple -- each file descriptor gets assigned to its own kqueue by taking the numeric value of the file descriptor modulo the number of kqueues we have opened. The same approach will be adopted for epoll and Solaris/illumos port events.
* ipc test: add a case for IPC that never connectsGarrett D'Amore2024-12-30
| | | | | | | This involved test-specific hacks, since connect() for UNIX domain sockets always completes synchronously one way or the other, even though it is documented that it might not. This found a bug, with an uninitialized poll FD as well!
* ipc/tcp stream tests: use dup() to avoid confusion and hang in teardownGarrett D'Amore2024-12-30
| | | | | This was observed only in the select poller, but the behavior of having the same file descriptor registered in the poller more than once is undefined.
* bump test timeouts for CI/CDGarrett D'Amore2024-12-30
|
* fixup! fixes #863 socket activation: for TCP and IPC (POSIX only)Garrett D'Amore2024-12-30
|
* socket activation: test fixes (improve coverage, etc.)Garrett D'Amore2024-12-30
|
* 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.
* url: accessor functions missing NNG_DECL tagGarrett D'Amore2024-12-29
|
* posix: fall back to send if sendmsg is unavailable for ipc and tcpGarrett D'Amore2024-12-29
| | | | | This will be slower, as each vector element has to be sent in a single system call, but for platforms that lack sendmsg it will at least work.
* aio: clear vector on advance (debugging aid)Garrett D'Amore2024-12-29
|
* aio test: add a test for IOV overrunGarrett D'Amore2024-12-29
|
* udp: use a bounce buffer if we lack sendmsg or recvmsgGarrett D'Amore2024-12-29
| | | | | This includes checks to determine if those functions are present, and a test case to verify that scatter gather with UDP works.
* demos: bump cmake version required to 3.15Garrett D'Amore2024-12-29
| | | | | | | 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.