aboutsummaryrefslogtreecommitdiff
path: root/src/sp/transport/udp/udp_tran_test.c
Commit message (Collapse)AuthorAge
* Replace nng_pipe_get_addr, nng_stream_get_addr, and the NNG_OPT_REMADDR option.Garrett D'Amore2025-10-27
| | | | | | | | | | | More direct access methods are provided instead. This results in much lower friction when using, and is a step on the path to removing NNG_OPT_LOCADDR as well. We need to figure a solution for NNG_OPT_LOCADDR for dialers; for listeners there is little use in it either, and it will be removed. (Dialers will probably get a new NNG_OPT_BIND_IP option.)
* NNG_OPT_BOUND_PORT replaces NNG_OPT_TCP/UDP_BOUND_PORT.Garrett D'Amore2025-10-26
| | | | | | | | | | This is easier and agnostic about the underlying L3 protocol. We plan to remove direct NNG_OPT_LOCADDR support from listeners (and probably both NNG_OPT_LOCADDR and NNG_OPT_REMADDR have numbered days left in their lifetime. They will be replaced with more direct typed access functions as has been done for pipes already.) While here fixed some include for IWYU in the POSIX platform.
* UDP: Signficant refactoring and simplification.Garrett D'Amore2025-06-08
| | | | | | | | | | | | | | This work is inspired by the DTLS work, and harmonizes the UDP implementation with DTLS somewhat. This should make it more resilient to failures, although there is no longer any attempt to guard against sequencing (reorders, dupes) errors. Applications that need such protection should either add it themselves, or use a transport which provides that guarantee (such as TCP). Note that with devices and and such in the way, such guarantees have never been perfect with SP anyway. The UDP transport header sizes for this are now just 8 bytes (beyond the UDP header itself.
* Fix valgrind uninitialized complaint in UDP test.Garrett D'Amore2025-05-26
|
* 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.
* socket: rename nng_close to nng_socket_closeGarrett D'Amore2024-12-31
|
* udp: more nni_aio_startGarrett D'Amore2024-12-26
|
* dialers: add nng_dial_url and nng_dialer_create_urlGarrett D'Amore2024-11-23
| | | | | This allows a URL object to be used for dialing, which may be easier than using a string if you already have the URL object.
* Convert UDP test to use URL functions.Garrett D'Amore2024-11-22
|
* URL refactor part 1.Garrett D'Amore2024-11-18
| | | | | | | This eliminates most (but not all) of the dynamic allocations associated with URL objects. A number of convenience fields on the URL are removed, but we are able to use common buffer for most of the details.
* UDP: prefer new packets (drop older)Garrett D'Amore2024-11-04
| | | | Adds test cases for this and for remote pipe as well.
* Use a callback for UDP burst test.Garrett D'Amore2024-11-04
| | | | | This seems to give much higher reliability in message receives, so we've tightened it up a bit for now.
* UDP test improvements.Garrett D'Amore2024-11-04
| | | | | | The burst test should be more reliable (by avoiding extra work during the hot code path). We also make the threshold for pass/failure tunable via an environment variable (NNG_UDP_PASS_RATE) which is a percentage.
* fixes #1890 stats could support an inline lock - remove most atomicsGarrett D'Amore2024-10-13
| | | | | This starts by updating UDP to use this approach, since we already have a convenient lock. We should look at doing the same for other stats.
* UDP: More test tuning for lossy environments.Garrett D'Amore2024-10-13
|
* udp: fix race, fix testsGarrett D'Amore2024-10-13
|
* UDP/sanitizer: Don't be strict about message loss in sanitizer or coverage runs.Garrett D'Amore2024-10-13
|
* UDP: burst testing to improve coverageGarrett D'Amore2024-10-13
| | | | | We are finding that on darwin its very easy for us to lose UDP messages as the socket buffer appears to be depressingly small.
* UDP: numerous fixes, added test for copy breakGarrett D'Amore2024-10-13
| | | | | | There were several bugs here, including use-after-free, a problem when the copy limit was exceeded, and uninitialized receive thresholds.
* fixes #168 UDP transportGarrett D'Amore2024-10-05
This is the initial implementation of UDP transport. It does in order guarantees (and consequently filters duplicates), but it does not guarantee delivery. The protocol limits payloads to 65000 bytes (minus headers for SP), but you really want to keep it to much less -- probably best for short messages that within a single MTU to avoid IP fragmentation and reassembly. This is unicast only for now (although there are plans for some support for multicast and broadcast as well as being able to perform automatic mesh building, but that will be in following work. Additional tunables are coming. This is only lightly tested at this point, and should be considered experimental. Its also undocumented.