aboutsummaryrefslogtreecommitdiff
path: root/src/nng.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-01-24 14:28:59 -0800
committerGarrett D'Amore <garrett@damore.org>2017-01-24 14:28:59 -0800
commit907a1eb392ca4b29c62b9cc3d2df1ad337695abf (patch)
tree27447f4cf82625023a2c4ae5fc385a51d3829685 /src/nng.c
parent4c496d8182b5f3a5db6ca8fd763bab444e39f48a (diff)
downloadnng-907a1eb392ca4b29c62b9cc3d2df1ad337695abf.tar.gz
nng-907a1eb392ca4b29c62b9cc3d2df1ad337695abf.tar.bz2
nng-907a1eb392ca4b29c62b9cc3d2df1ad337695abf.zip
Add nni_ep_hold, nni_ep_hold_close, nni_ep_rele, nng_endpoint_close.
Diffstat (limited to 'src/nng.c')
-rw-r--r--src/nng.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/nng.c b/src/nng.c
index e21a84e6..a534b1bc 100644
--- a/src/nng.c
+++ b/src/nng.c
@@ -231,7 +231,7 @@ nng_dial(nng_socket sid, const char *addr, nng_endpoint *epp, int flags)
}
if ((rv = nni_sock_dial(sock, addr, &ep, flags)) == 0) {
if (epp != NULL) {
- *epp = ep->ep_id;
+ *epp = nni_ep_id(ep);
}
}
nni_sock_rele(sock);
@@ -251,7 +251,7 @@ nng_listen(nng_socket sid, const char *addr, nng_endpoint *epp, int flags)
}
if ((rv = nni_sock_listen(sock, addr, &ep, flags)) == 0) {
if (epp != NULL) {
- *epp = ep->ep_id;
+ *epp = nni_ep_id(ep);
}
}
nni_sock_rele(sock);
@@ -262,8 +262,14 @@ nng_listen(nng_socket sid, const char *addr, nng_endpoint *epp, int flags)
int
nng_endpoint_close(nng_endpoint eid)
{
- // XXX: FIXME: lookup endpoint by id, and then close it.
- return (NNG_ENOTSUP);
+ int rv;
+ nni_ep *ep;
+
+ if ((rv = nni_ep_hold_close(&ep, eid)) != 0) {
+ return (rv);
+ }
+ nni_ep_close(ep);
+ return (0);
}