From fdc14a51e9ba787804a105b929918919394b6197 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Fri, 3 Nov 2017 17:49:13 -0700 Subject: fixes #147 surveyor protocol needs NNG_OPT_MAXTTL --- src/protocol/survey0/survey.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src') diff --git a/src/protocol/survey0/survey.c b/src/protocol/survey0/survey.c index 02283436..b3ea0323 100644 --- a/src/protocol/survey0/survey.c +++ b/src/protocol/survey0/survey.c @@ -40,6 +40,7 @@ struct surv0_sock { nni_duration survtime; nni_time expire; int raw; + int ttl; int closing; uint32_t nextid; // next id uint32_t survid; // outstanding request ID (big endian) @@ -97,6 +98,7 @@ surv0_sock_init(void **sp, nni_sock *nsock) s->expire = NNI_TIME_ZERO; s->uwq = nni_sock_sendq(nsock); s->urq = nni_sock_recvq(nsock); + s->ttl = 8; *sp = s; return (0); @@ -295,6 +297,20 @@ surv0_sock_getopt_raw(void *arg, void *buf, size_t *szp) return (nni_getopt_int(s->raw, buf, szp)); } +static int +surv0_sock_setopt_maxttl(void *arg, const void *buf, size_t sz) +{ + surv0_sock *s = arg; + return (nni_setopt_int(&s->ttl, buf, sz, 1, 255)); +} + +static int +surv0_sock_getopt_maxttl(void *arg, void *buf, size_t *szp) +{ + surv0_sock *s = arg; + return (nni_getopt_int(s->ttl, buf, szp)); +} + static int surv0_sock_setopt_surveytime(void *arg, const void *buf, size_t sz) { -- cgit v1.2.3-70-g09d2