From 6e945e18f3f3e9b7f9ee614eac6d3bf681f768d9 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Mon, 2 Oct 2017 13:34:55 -0700 Subject: Added more complete tests, and changes to property handling. We allow some properties to be set on endpoints after they are started; transports now responsible for checking that. (The new values will only apply to new connections of course!) We added short-hand functions for pipe properties, and also added uint64_t shorthands across the board. The zerotier documentation got some updates (corrections). We have also added a separate header now for the ZT stuff. Also, dialers and listeners do not intermix anymore -- we test that only a dialer can be used with setting dialer options, and likewise for listeners. --- src/core/endpt.c | 12 ++++++------ src/core/endpt.h | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'src/core') diff --git a/src/core/endpt.c b/src/core/endpt.c index e6216ba3..fa30bf77 100644 --- a/src/core/endpt.c +++ b/src/core/endpt.c @@ -605,20 +605,20 @@ nni_ep_setopt(nni_ep *ep, const char *name, const void *val, size_t sz) return (NNG_EREADONLY); } nni_mtx_lock(&ep->ep_mtx); - // XXX: Consider removing this test. - if (ep->ep_started) { - nni_mtx_unlock(&ep->ep_mtx); - return (NNG_ESTATE); - } rv = eo->eo_setopt(ep->ep_data, val, sz); nni_mtx_unlock(&ep->ep_mtx); return (rv); } - // XXX: socket fallback return (NNG_ENOTSUP); } +int +nni_ep_mode(nni_ep *ep) +{ + return (ep->ep_mode); +} + int nni_ep_getopt(nni_ep *ep, const char *name, void *valp, size_t *szp) { diff --git a/src/core/endpt.h b/src/core/endpt.h index d12d661f..f5ad09ee 100644 --- a/src/core/endpt.h +++ b/src/core/endpt.h @@ -32,6 +32,7 @@ extern int nni_ep_getopt(nni_ep *, const char *, void *, size_t *); extern int nni_ep_pipe_add(nni_ep *ep, nni_pipe *); extern void nni_ep_pipe_remove(nni_ep *, nni_pipe *); extern const char *nni_ep_url(nni_ep *); +extern int nni_ep_mode(nni_ep *); // Endpoint modes. Currently used by transports. Remove this when we make // transport dialers and listeners explicit. -- cgit v1.2.3-70-g09d2