diff options
| author | Garrett D'Amore <garrett@damore.org> | 2020-01-02 21:22:56 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2020-01-02 21:54:23 -0800 |
| commit | 909bc2359eb00c3ab4f8924aa5a0f470eecc0c33 (patch) | |
| tree | 8df0df32806a8fdd67da41dfabda627b157d11ed | |
| parent | 637b1e0e73c8ce87828cf5d670a9859092065921 (diff) | |
| download | nng-909bc2359eb00c3ab4f8924aa5a0f470eecc0c33.tar.gz nng-909bc2359eb00c3ab4f8924aa5a0f470eecc0c33.tar.bz2 nng-909bc2359eb00c3ab4f8924aa5a0f470eecc0c33.zip | |
Limit the batch size, and set some timeouts for compat_tcp.
| -rw-r--r-- | src/compat/nanomsg/compat_tcp.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/compat/nanomsg/compat_tcp.c b/src/compat/nanomsg/compat_tcp.c index 881d0fec..6e0c2185 100644 --- a/src/compat/nanomsg/compat_tcp.c +++ b/src/compat/nanomsg/compat_tcp.c @@ -169,6 +169,8 @@ test_batch(void) int sb, sc; char addr[32]; uint16_t port = testutil_next_port(); + int opt; + size_t sz; (void) snprintf(addr, sizeof(addr), "tcp://127.0.0.1:%u", port); TEST_CHECK((sb = nn_socket(AF_SP, NN_PAIR)) >= 0); @@ -176,15 +178,23 @@ test_batch(void) TEST_CHECK(sb != sc); TEST_CHECK(nn_bind(sb, addr) >= 0); TEST_CHECK(nn_connect(sc, addr) >= 0); + opt = 1000; + sz = sizeof(opt); + TEST_NN_PASS(nn_setsockopt(sb, NN_SOL_SOCKET, NN_RCVTIMEO, &opt, sz)); + TEST_NN_PASS(nn_setsockopt(sb, NN_SOL_SOCKET, NN_SNDTIMEO, &opt, sz)); + TEST_NN_PASS(nn_setsockopt(sc, NN_SOL_SOCKET, NN_RCVTIMEO, &opt, sz)); + TEST_NN_PASS(nn_setsockopt(sc, NN_SOL_SOCKET, NN_SNDTIMEO, &opt, sz)); testutil_sleep(200); + // We can send 10 of these, because TCP buffers a reasonable amount. + // Pushing say 100 of them may run into TCP buffering limitations. #define DIGITS "0123456789012345678901234567890123456789" - for (int i = 0; i < 100; i++) { + for (int i = 0; i < 10; i++) { TEST_NN_PASS(nn_send(sc, DIGITS, strlen(DIGITS) + 1, 0)); } - for (int i = 0; i < 100; i++) { + for (int i = 0; i < 10; i++) { char buf[64]; int n; TEST_NN_PASS(n = nn_recv(sb, buf, sizeof(buf), 0)); @@ -254,7 +264,7 @@ test_max_recv_size(void) TEST_CHECK((sc = nn_socket(AF_SP, NN_PAIR)) >= 0); TEST_CHECK(sb != sc); opt = 100; - sz = sizeof (opt); + sz = sizeof(opt); TEST_NN_PASS(nn_setsockopt(sb, NN_SOL_SOCKET, NN_RCVTIMEO, &opt, sz)); /* Test that NN_RCVMAXSIZE can be -1, but not lower */ |
