aboutsummaryrefslogtreecommitdiff
path: root/tests/reqrep.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/reqrep.c')
-rw-r--r--tests/reqrep.c29
1 files changed, 27 insertions, 2 deletions
diff --git a/tests/reqrep.c b/tests/reqrep.c
index e36232b6..537d45c8 100644
--- a/tests/reqrep.c
+++ b/tests/reqrep.c
@@ -1,5 +1,6 @@
//
// Copyright 2017 Garrett D'Amore <garrett@damore.org>
+// Copyright 2017 Capitar IT Group BV <info@capitar.com>
//
// This software is supplied under the terms of the MIT License, a
// copy of which should be located in the distribution where this
@@ -12,6 +13,9 @@
#include <string.h>
+extern const char *nng_opt_req_resendtime;
+extern int nng_optid_req_resendtime;
+
TestMain("REQ/REP pattern", {
int rv;
const char *addr = "inproc://test";
@@ -27,6 +31,22 @@ TestMain("REQ/REP pattern", {
So(nng_peer(req) == NNG_PROTO_REP);
});
+ Convey("Resend time option id works", {
+ int opt;
+ const char *name;
+ opt = nng_option_lookup(nng_opt_req_resendtime);
+ So(opt >= 0);
+ So(opt == nng_optid_req_resendtime);
+ name = nng_option_name(opt);
+ So(name != NULL);
+ So(strcmp(name, nng_opt_req_resendtime) == 0);
+
+ // Set timeout.
+ So(nng_setopt_usec(req, opt, 10000) == 0);
+ // Check invalid size
+ So(nng_setopt(req, opt, name, 1) == NNG_EINVAL);
+ });
+
Convey("Recv with no send fails", {
nng_msg *msg;
rv = nng_recvmsg(req, &msg, 0);
@@ -53,6 +73,11 @@ TestMain("REQ/REP pattern", {
So(rv == NNG_ESTATE);
nng_msg_free(msg);
});
+
+ Convey("Cannot set resend time", {
+ So(nng_setopt_usec(rep, nng_optid_req_resendtime,
+ 100) == NNG_ENOTSUP);
+ });
});
Convey("We can create a linked REQ/REP pair", {
@@ -115,8 +140,8 @@ TestMain("REQ/REP pattern", {
nng_close(req);
});
- So(nng_setopt_usec(req, NNG_OPT_RESENDTIME, retry) == 0);
- So(nng_setopt_int(req, NNG_OPT_SNDBUF, 16) == 0);
+ So(nng_setopt_usec(req, nng_optid_req_resendtime, retry) == 0);
+ So(nng_setopt_int(req, nng_optid_sendbuf, 16) == 0);
So(nng_msg_alloc(&abc, 0) == 0);
So(nng_msg_append(abc, "abc", 4) == 0);