aboutsummaryrefslogtreecommitdiff
path: root/src/nng.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-01-17 20:15:23 -0800
committerGarrett D'Amore <garrett@damore.org>2017-01-17 20:15:23 -0800
commit4707cfd45be0d807081c53d9a16cc05e1d0cf4bc (patch)
tree21491ad897703e0073c7b648d6ab5c752391b5a7 /src/nng.c
parent5633a467a009945a4f1eb06f7ffe9f02b833567f (diff)
downloadnng-4707cfd45be0d807081c53d9a16cc05e1d0cf4bc.tar.gz
nng-4707cfd45be0d807081c53d9a16cc05e1d0cf4bc.tar.bz2
nng-4707cfd45be0d807081c53d9a16cc05e1d0cf4bc.zip
Public pipe and endpoint APIs use IDs instead of pointers.
Diffstat (limited to 'src/nng.c')
-rw-r--r--src/nng.c28
1 files changed, 24 insertions, 4 deletions
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)