diff options
| author | Garrett D'Amore <garrett@damore.org> | 2025-10-26 10:54:58 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2025-10-27 07:13:40 -0700 |
| commit | be13c2e8845423cec17af429fc4e16a5d9749e47 (patch) | |
| tree | 82614e403a41aac6581a9a223ef9eba5be557222 /src/supplemental/websocket/websocket_test.c | |
| parent | 11c53f3d7f747d14fd69ce98c63d629bc821ef68 (diff) | |
| download | nng-be13c2e8845423cec17af429fc4e16a5d9749e47.tar.gz nng-be13c2e8845423cec17af429fc4e16a5d9749e47.tar.bz2 nng-be13c2e8845423cec17af429fc4e16a5d9749e47.zip | |
Replace nng_pipe_get_addr, nng_stream_get_addr, and the NNG_OPT_REMADDR option.
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.)
Diffstat (limited to 'src/supplemental/websocket/websocket_test.c')
| -rw-r--r-- | src/supplemental/websocket/websocket_test.c | 63 |
1 files changed, 27 insertions, 36 deletions
diff --git a/src/supplemental/websocket/websocket_test.c b/src/supplemental/websocket/websocket_test.c index ffce8019..368ef3ec 100644 --- a/src/supplemental/websocket/websocket_test.c +++ b/src/supplemental/websocket/websocket_test.c @@ -18,10 +18,8 @@ void test_websocket_wildcard(void) { - nng_stream_dialer *d = NULL; - nng_stream_listener *l = NULL; - nng_sockaddr sa1; - nng_sockaddr sa2; + nng_stream_dialer *d = NULL; + nng_stream_listener *l = NULL; nng_aio *daio = NULL; nng_aio *laio = NULL; nng_aio *aio1 = NULL; @@ -32,20 +30,19 @@ test_websocket_wildcard(void) char buf1[8]; char buf2[8]; char uri[64]; + const nng_sockaddr *sap1; + const nng_sockaddr *sap2; + int port; NUTS_PASS(nng_stream_listener_alloc(&l, "ws://127.0.0.1:0/test")); NUTS_PASS(nng_stream_listener_listen(l)); - // Let's get the address we're going to use to dial -- also check - // that it is correct. - NUTS_PASS(nng_stream_listener_get_addr(l, NNG_OPT_LOCADDR, &sa1)); - NUTS_TRUE(sa1.s_in.sa_port != 0); - NUTS_TRUE(sa1.s_family == NNG_AF_INET); - NUTS_TRUE(nuts_be32(sa1.s_in.sa_addr) == 0x7F000001u); + // Let's get the port we're going to use to dial. + NUTS_PASS(nng_stream_listener_get_int(l, NNG_OPT_BOUND_PORT, &port)); + NUTS_TRUE(port != 0); - (void) snprintf(uri, sizeof(uri), "ws://127.0.0.1:%d/test", - nuts_be16(sa1.s_in.sa_port)); + (void) snprintf(uri, sizeof(uri), "ws://127.0.0.1:%d/test", port); NUTS_PASS(nng_stream_dialer_alloc(&d, uri)); NUTS_PASS(nng_aio_alloc(&daio, NULL, NULL)); @@ -71,16 +68,16 @@ test_websocket_wildcard(void) NUTS_TRUE(c2 != NULL); // Let's compare the peer addresses - NUTS_PASS(nng_stream_get_addr(c2, NNG_OPT_REMADDR, &sa2)); - NUTS_TRUE(sa1.s_family == sa2.s_family); - NUTS_TRUE(sa1.s_in.sa_addr == sa2.s_in.sa_addr); - NUTS_TRUE(sa1.s_in.sa_port == sa2.s_in.sa_port); + sap2 = nng_stream_peer_addr(c2); + NUTS_TRUE(sap2->s_family == NNG_AF_INET); + NUTS_TRUE(nuts_be32(sap2->s_in.sa_addr) == 0x7F000001u); + NUTS_TRUE(sap2->s_in.sa_port != 0); - NUTS_PASS(nng_stream_get_addr(c1, NNG_OPT_REMADDR, &sa1)); - NUTS_PASS(nng_stream_get_addr(c2, NNG_OPT_LOCADDR, &sa2)); - NUTS_TRUE(sa1.s_family == sa2.s_family); - NUTS_TRUE(sa1.s_in.sa_addr == sa2.s_in.sa_addr); - NUTS_TRUE(sa1.s_in.sa_port == sa2.s_in.sa_port); + sap1 = nng_stream_peer_addr(c1); + sap2 = nng_stream_self_addr(c2); + NUTS_TRUE(sap1->s_family == sap2->s_family); + NUTS_TRUE(sap1->s_in.sa_addr == sap2->s_in.sa_addr); + NUTS_TRUE(sap1->s_in.sa_port == sap2->s_in.sa_port); // This relies on send completing for for just 5 bytes, and on // recv doing the same. Technically this isn't/ guaranteed, but @@ -129,8 +126,6 @@ test_websocket_conn_props(void) { nng_stream_dialer *d = NULL; nng_stream_listener *l = NULL; - nng_sockaddr sa1; - nng_sockaddr sa2; const nng_sockaddr *sap1; const nng_sockaddr *sap2; size_t sz; @@ -186,19 +181,15 @@ test_websocket_conn_props(void) // Let's compare the peer addresses sap1 = nng_stream_self_addr(c1); sap2 = nng_stream_peer_addr(c2); - NUTS_PASS(nng_stream_get_addr(c1, NNG_OPT_LOCADDR, &sa1)); - NUTS_PASS(nng_stream_get_addr(c2, NNG_OPT_REMADDR, &sa2)); - NUTS_TRUE(sa1.s_family == sa2.s_family); - NUTS_TRUE(sa1.s_in.sa_addr == sa2.s_in.sa_addr); - NUTS_TRUE(sa1.s_in.sa_port == sa2.s_in.sa_port); - NUTS_TRUE(memcmp(sap1, &sa1, sizeof(sa1)) == 0); - NUTS_TRUE(memcmp(sap2, &sa2, sizeof(sa2)) == 0); - - NUTS_PASS(nng_stream_get_addr(c1, NNG_OPT_REMADDR, &sa1)); - NUTS_PASS(nng_stream_get_addr(c2, NNG_OPT_LOCADDR, &sa2)); - NUTS_TRUE(sa1.s_family == sa2.s_family); - NUTS_TRUE(sa1.s_in.sa_addr == sa2.s_in.sa_addr); - NUTS_TRUE(sa1.s_in.sa_port == sa2.s_in.sa_port); + NUTS_TRUE(sap1->s_family == sap2->s_family); + NUTS_TRUE(sap1->s_in.sa_addr == sap2->s_in.sa_addr); + NUTS_TRUE(sap1->s_in.sa_port == sap2->s_in.sa_port); + + sap1 = nng_stream_peer_addr(c1); + sap2 = nng_stream_self_addr(c2); + NUTS_TRUE(sap1->s_family == sap2->s_family); + NUTS_TRUE(sap1->s_in.sa_addr == sap2->s_in.sa_addr); + NUTS_TRUE(sap1->s_in.sa_port == sap2->s_in.sa_port); NUTS_PASS(nng_stream_get_bool(c1, NNG_OPT_TCP_NODELAY, &on)); NUTS_TRUE(on == true); |
