diff options
| author | Garrett D'Amore <garrett@damore.org> | 2025-11-09 08:04:43 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2025-11-09 08:04:43 -0800 |
| commit | 98e6bbd1ae4e7c34feb2c7ad70aa377112a9a13f (patch) | |
| tree | 52b75947af42d620f960310063d197d5f9b470d1 /src/sp/transport | |
| parent | 8396f1df0420bb0156655532b5e6244dc1b3b646 (diff) | |
| download | nng-98e6bbd1ae4e7c34feb2c7ad70aa377112a9a13f.tar.gz nng-98e6bbd1ae4e7c34feb2c7ad70aa377112a9a13f.tar.bz2 nng-98e6bbd1ae4e7c34feb2c7ad70aa377112a9a13f.zip | |
test: make DTLS test parallelism tunable (compile-time)
Diffstat (limited to 'src/sp/transport')
| -rw-r--r-- | src/sp/transport/dtls/dtls_tran_test.c | 61 |
1 files changed, 24 insertions, 37 deletions
diff --git a/src/sp/transport/dtls/dtls_tran_test.c b/src/sp/transport/dtls/dtls_tran_test.c index c6dc551c..500481c2 100644 --- a/src/sp/transport/dtls/dtls_tran_test.c +++ b/src/sp/transport/dtls/dtls_tran_test.c @@ -449,21 +449,20 @@ test_dtls_reqrep_multi(void) nng_tls_config_free(c1); } +#define NCLIENT 3 void test_dtls_pub_multi(void) { char msg[1024]; char buf[1024]; nng_socket s0; - nng_socket s1; - nng_socket s2; nng_tls_config *c0, *c1; nng_listener l; - nng_dialer d1; - nng_dialer d2; size_t sz; char *addr; const nng_url *url; + nng_socket cs[NCLIENT]; + nng_dialer cd[NCLIENT]; NUTS_ENABLE_LOG(NNG_LOG_DEBUG); @@ -474,6 +473,7 @@ test_dtls_pub_multi(void) NUTS_PASS(nng_pub0_open(&s0)); NUTS_PASS(nng_socket_set_ms(s0, NNG_OPT_RECVTIMEO, 100)); NUTS_PASS(nng_socket_set_size(s0, NNG_OPT_RECVMAXSZ, 200)); + NUTS_PASS(nng_socket_set_ms(s0, NNG_OPT_SENDTIMEO, 100)); NUTS_PASS(nng_listener_create(&l, s0, addr)); NUTS_PASS(nng_listener_set_tls(l, c0)); NUTS_PASS(nng_socket_get_size(s0, NNG_OPT_RECVMAXSZ, &sz)); @@ -482,48 +482,35 @@ test_dtls_pub_multi(void) NUTS_PASS(nng_listener_start(l, 0)); NUTS_PASS(nng_listener_get_url(l, &url)); - NUTS_PASS(nng_sub0_open(&s1)); - NUTS_PASS(nng_dialer_create_url(&d1, s1, url)); - NUTS_PASS(nng_dialer_set_tls(d1, c1)); - NUTS_PASS(nng_dialer_start(d1, 0)); - - NUTS_PASS(nng_sub0_open(&s2)); - NUTS_PASS(nng_dialer_create_url(&d2, s2, url)); - NUTS_PASS(nng_dialer_set_tls(d2, c1)); - NUTS_PASS(nng_dialer_start(d2, 0)); - - NUTS_PASS(nng_socket_set_ms(s0, NNG_OPT_SENDTIMEO, 100)); - NUTS_PASS(nng_socket_set_ms(s0, NNG_OPT_RECVTIMEO, 100)); - NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 100)); - NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 100)); - NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, 100)); - NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, 100)); - NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, 100)); - NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, 100)); - NUTS_PASS(nng_sub0_socket_subscribe(s1, "", 0)); - NUTS_PASS(nng_sub0_socket_subscribe(s2, "", 0)); + for (int i = 0; i < NCLIENT; i++) { + NUTS_PASS(nng_sub0_open(&cs[i])); + NUTS_PASS(nng_socket_set_ms(cs[i], NNG_OPT_RECVTIMEO, 100)); + NUTS_PASS(nng_sub0_socket_subscribe(cs[i], "", 0)); + NUTS_PASS(nng_dialer_create_url(&cd[i], cs[i], url)); + NUTS_PASS(nng_dialer_set_tls(cd[i], c1)); + NUTS_PASS(nng_dialer_start(cd[i], 0)); + } // send a bunch of messages - we're hoping that by serializing we won't // overwhelm the network. for (int i = 0; i < 100; i++) { - size_t len = nng_random() % 1000; + size_t len = nng_random() % (sizeof(msg) - 1); memset(msg, 'a' + i % 26, sizeof(buf)); msg[len] = 0; - memset(buf, 0, sizeof(buf)); - sz = sizeof(msg); NUTS_PASS(nng_send(s0, msg, len + 1, 0)); - NUTS_PASS(nng_recv(s1, buf, &sz, 0)); - NUTS_TRUE(sz == len + 1); - NUTS_MATCH(msg, buf); - memset(buf, 0, sizeof(buf)); - sz = sizeof(msg); - NUTS_PASS(nng_recv(s2, buf, &sz, 0)); - NUTS_TRUE(sz == len + 1); - NUTS_MATCH(msg, buf); + for (int j = 0; j < NCLIENT; j++) { + sz = sizeof(msg); + memset(buf, 0, sizeof(buf)); + NUTS_PASS(nng_recv(cs[j], buf, &sz, 0)); + NUTS_TRUE(sz == len + 1); + NUTS_MATCH(msg, buf); + memset(buf, 0, sizeof(buf)); + } } NUTS_CLOSE(s0); - NUTS_CLOSE(s1); - NUTS_CLOSE(s2); + for (int i = 0; i < NCLIENT; i++) { + NUTS_CLOSE(cs[i]); + } nng_tls_config_free(c0); nng_tls_config_free(c1); } |
