aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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.
* resolver: add some additional test coverageGarrett D'Amore2024-12-29
| | | | | | While here, remove some code paths that do not occur by definition. (For example, if the resolver succeeds, we will definitely have a valid set of addresses, but if it fails, we will definitely not.)
* tcp listener: remove obsolete function prototypesGarrett D'Amore2024-12-28
|
* fixup! resolver: use explicit resolver item provided by callerGarrett D'Amore2024-12-28
|
* resolver: default to just a single resolver threadGarrett D'Amore2024-12-28
| | | | | | | Nearly all applications are either purely server based (needing no resolvers really), or dialers only dialing a single destination. These do not need multiple dialers, and threads are expensive on some platforms (and they are more trouble during debugging.)
* resolver: use explicit resolver item provided by callerGarrett D'Amore2024-12-28
| | | | | | This avoids the need to perform multiple allocations for dialing, eliminating additional potential failures. Cancellation is also made simpler and more perfectly robust.
* windows tcp: fix compilation warningGarrett D'Amore2024-12-28
|
* windows tests: some tests of performance tools fail lately in CI/CD on WindowsGarrett D'Amore2024-12-28
|
* fixes #961 surprising pipe event orderGarrett D'Amore2024-12-28
|
* tcp stream: add test for ESTATE getting port on unbound listenerGarrett D'Amore2024-12-28
|