From 4707cfd45be0d807081c53d9a16cc05e1d0cf4bc Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Tue, 17 Jan 2017 20:15:23 -0800 Subject: Public pipe and endpoint APIs use IDs instead of pointers. --- src/nng.c | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'src/nng.c') diff --git a/src/nng.c b/src/nng.c index 723b230e..77ebebaf 100644 --- a/src/nng.c +++ b/src/nng.c @@ -113,18 +113,34 @@ nng_sendmsg(nng_socket *s, nng_msg *msg, int flags) int -nng_dial(nng_socket *s, const char *addr, nng_endpoint **epp, int flags) +nng_dial(nng_socket *s, const char *addr, nng_endpoint *epp, int flags) { + nni_ep *ep; + int rv; + NNI_INIT_INT(); - return (nni_sock_dial(s, addr, epp, flags)); + if ((rv = nni_sock_dial(s, addr, &ep, flags)) == 0) { + if (epp != NULL) { + *epp = ep->ep_id; + } + } + return (rv); } int -nng_listen(nng_socket *s, const char *addr, nng_endpoint **epp, int flags) +nng_listen(nng_socket *s, const char *addr, nng_endpoint *epp, int flags) { + nni_ep *ep; + int rv; + NNI_INIT_INT(); - return (nni_sock_listen(s, addr, epp, flags)); + if ((rv = nni_sock_listen(s, addr, &ep, flags)) == 0) { + if (epp != NULL) { + *epp = ep->ep_id; + } + } + return (rv); } @@ -248,6 +264,7 @@ nng_strerror(int num) } +#if 0 int nng_pipe_getopt(nng_pipe *pipe, int opt, void *val, size_t *sizep) { @@ -272,6 +289,9 @@ nng_pipe_close(nng_pipe *pipe) } +#endif + + // Message handling. int nng_msg_alloc(nng_msg **msgp, size_t size) -- cgit v1.2.3-70-g09d2