| Commit message (Collapse) | Author | Age | ||
|---|---|---|---|---|
| ... | ||||
| * | resolver: use explicit resolver item provided by caller | Garrett D'Amore | 2024-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 warning | Garrett D'Amore | 2024-12-28 | |
| | | ||||
| * | windows tests: some tests of performance tools fail lately in CI/CD on Windows | Garrett D'Amore | 2024-12-28 | |
| | | ||||
| * | fixes #961 surprising pipe event order | Garrett D'Amore | 2024-12-28 | |
| | | ||||
| * | tcp stream: add test for ESTATE getting port on unbound listener | Garrett D'Amore | 2024-12-28 | |
| | | ||||
| * | windows tcp: Lookup extended TCP function pointers at startup | Garrett D'Amore | 2024-12-28 | |
| | | | | | | | This avoids the need for a lock during listener or dialer initialization, and it avoids the need to carry these pointers on those objects. It also eliminates a potential failure case "post startup". | |||
| * | tcp: flatten the listener implementation | Garrett D'Amore | 2024-12-28 | |
| | | | | | | | | | | | The endpoints both use a nesting level for some common code and some platform dependent code. But the common code isn't that much and we have similar patterns for e.g. IPC. This avoids a layer of indirection in the structs, and extra allocations. The payoff will be even larger for the dialers, but that is next. (Dialers are more complicated because of DNS.) | |||
| * | fixes #1954 make BUILD_SHARED_LIBS ON by default | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | zerotier: removed | Garrett D'Amore | 2024-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. | |||
| * | Update .gitignore | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | http: inline aios | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | tcp dialer: inline aio objects | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | dialer: use inline aio | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | fix for potential leaking connections | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | aio: remove nni_aio_begin and nni_aio_schedule | Garrett D'Amore | 2024-12-26 | |
| | | | | | | The nni_aio_start function replaces these two functions with a simple, single call, reducing pressure on common locks. | |||
| * | pipeline: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | sub: remove some calls to nni_aio_begin | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | pair0: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | pair1: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | pub sub: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | bus: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | | | | | | The test needed a change to ensure that we do not trigger a debugging check (you cannot submit another job on an aio that you've been notified is stopped via NNG_ESTOPPED.) | |||
| * | req rep: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | survey protocol conversion to nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | udp: more nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | http: more nni_aio_start changes | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | github actions: Bump github actions to use ubuntu 24.04 | Garrett D'Amore | 2024-12-26 | |
| | | | | | (Mostly this is to get a newer wolfSSL.) | |||
| * | tls: use nni_aio_begin | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | http: No need to do nni_aio_begin for callbacks | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | udp: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | | | | | | This also moves the close of the UDP socket later, to avoid a potential use after free while the aio's are still in-flight. Unfortunately we cannot unbind cleanly without a hard close. | |||
| * | aio: nng_aio_defer replaced by nng_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | | | | | This represents an API change, and we remove the nng_aio_begin function as well, introducing the lightweight nng_aio_reset instead. | |||
| * | dialer: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | ipc: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | resolver: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | tcp: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | device: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | websocket: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | http: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | inproc: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | sockfd: convert to use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | aio: introduce nni_aio_reset to reset the aio before submitting more work | Garrett D'Amore | 2024-12-26 | |
| | | | | | | | This allows some use cases to reset things like the counts and outputs, before submitting more jobs. Providers should call this near the top of their functions; this is done without any locks so it should be very fast. | |||
| * | msg queue: use nni_aio_start | Garrett D'Amore | 2024-12-26 | |
| | | ||||
| * | aio: introduce NNG_ESTOPPED | Garrett D'Amore | 2024-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. | |||
| * | nni_aio_start: introduce nni_aio_start to replace aio_begin, schedule, and defer | Garrett D'Amore | 2024-12-26 | |
| | | | | | Also make nni_aio_sleep use it. | |||
| * | taskq: skip the lock/unlock if there is no callback | Garrett D'Amore | 2024-12-26 | |
| | | | | | | This should help some cases of synchronous callers that don't use a callback at all. | |||
| * | posix resolver: use nni_aio_defer | Garrett D'Amore | 2024-12-24 | |
| | | ||||
| * | msgq: use nni_aio_defer | Garrett D'Amore | 2024-12-23 | |
| | | ||||
| * | websocket test: workaround EADDRINUSE during tests | Garrett D'Amore | 2024-12-22 | |
| | | | | | | These failures are responsible for false SEGFAULTS during testing, as we wind up failing to listen and then proceeding anyway. | |||
| * | aio: introduce nni_aio_defer | Garrett D'Amore | 2024-12-22 | |
| | | | | | | | | | This will replace nni_aio_schedule, and it includes finishing the task if needed. It does so without dropping the lock and so is more efficient and race free. This includes some conversion of some subsystems to it. | |||
| * | posix tcp: use common refcnt implementation | Garrett D'Amore | 2024-12-22 | |
| | | ||||
| * | port events poller (illumos/Solaris): use atomic events mask | Garrett D'Amore | 2024-12-22 | |
| | | ||||
