diff options
| author | Garrett D'Amore <garrett@damore.org> | 2024-11-02 23:16:22 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2024-11-02 23:16:22 -0700 |
| commit | 8bac5ccdf1de7334311459b9e2666e74a2c16c15 (patch) | |
| tree | 169ce8229a1a0eb6e810685a9923be1c2bf644a6 | |
| parent | d3622c0f6153ce0eccaad9c986d46b07cec91b5d (diff) | |
| download | nng-8bac5ccdf1de7334311459b9e2666e74a2c16c15.tar.gz nng-8bac5ccdf1de7334311459b9e2666e74a2c16c15.tar.bz2 nng-8bac5ccdf1de7334311459b9e2666e74a2c16c15.zip | |
Replace `NNG_OPT_PROTO`, `NNG_OPT_PROTONAME`, and friends with functions.
Socket options were a little awkward, and these are core properties
of the socket. Few if any applications need these. This also avoids
some dynamic allocations.
| -rw-r--r-- | docs/ref/migrate/nanomsg.md | 36 | ||||
| -rw-r--r-- | docs/ref/migrate/nng1.md | 9 | ||||
| -rw-r--r-- | include/nng/nng.h | 11 | ||||
| -rw-r--r-- | src/core/socket.c | 40 | ||||
| -rw-r--r-- | src/nng.c | 64 | ||||
| -rw-r--r-- | src/sp/protocol/bus0/bus_test.c | 16 | ||||
| -rw-r--r-- | src/sp/protocol/pair0/pair0_test.c | 16 | ||||
| -rw-r--r-- | src/sp/protocol/pair1/pair1_poly_test.c | 16 | ||||
| -rw-r--r-- | src/sp/protocol/pair1/pair1_test.c | 16 | ||||
| -rw-r--r-- | src/sp/protocol/pipeline0/pull_test.c | 16 | ||||
| -rw-r--r-- | src/sp/protocol/pipeline0/push_test.c | 16 | ||||
| -rw-r--r-- | src/sp/protocol/pubsub0/pub_test.c | 16 | ||||
| -rw-r--r-- | src/sp/protocol/pubsub0/sub_test.c | 16 | ||||
| -rw-r--r-- | src/sp/protocol/pubsub0/xsub_test.c | 16 | ||||
| -rw-r--r-- | src/sp/protocol/reqrep0/rep_test.c | 18 | ||||
| -rw-r--r-- | src/sp/protocol/reqrep0/req_test.c | 16 | ||||
| -rw-r--r-- | src/sp/protocol/reqrep0/xrep_test.c | 18 | ||||
| -rw-r--r-- | src/sp/protocol/reqrep0/xreq_test.c | 18 | ||||
| -rw-r--r-- | src/sp/protocol/survey0/respond_test.c | 16 | ||||
| -rw-r--r-- | src/sp/protocol/survey0/survey_test.c | 16 | ||||
| -rw-r--r-- | src/sp/protocol/survey0/xrespond_test.c | 18 | ||||
| -rw-r--r-- | src/sp/protocol/survey0/xsurvey_test.c | 16 |
22 files changed, 221 insertions, 219 deletions
diff --git a/docs/ref/migrate/nanomsg.md b/docs/ref/migrate/nanomsg.md index 8094c942..695f771b 100644 --- a/docs/ref/migrate/nanomsg.md +++ b/docs/ref/migrate/nanomsg.md @@ -66,24 +66,24 @@ NNG approach to messages. Likewise there is no `struct nn_cmsghdr` equivalent. The following options are changed. -| Nanomsg Option | NNG Eqvaivalent | Notes | -| ---------------------- | ------------------------------ | ------------------------------------------------------- | -| `NN_LINGER` | None | NNG does not support tuning this. | -| `NN_SNDBUF` | `NNG_OPT_SENDBUF` | NNG value is given in messages, not bytes. | -| `NN_RCVBUF` | `NNG_OPT_RECVBUF` | NNG value is given in messages, not bytes. | -| `NN_SNDTIMEO` | `NNG_OPT_SENDTIMEO` | -| `NN_RCVTIMEO` | `NNG_OPT_RECVTIMEO` | -| `NN_RECONNECT_IVL` | `NNG_OPT_RECONNMINT` | -| `NN_RECONNECT_IVL_MAX` | `NNG_OPT_RECONNMAXT` | -| `NN_SNDPRIO` | None | Not supported in NNG yet. | -| `NN_RCVPRIO` | None | Not supported in NNG yet. | -| `NN_RCVFD` | `+nng_socket_get_recv_poll_fd` | No longer an option, use a function call. | -| `NN_SNDFD` | `+nng_socket_get_send_poll_fd` | No longer an option, use a function call. | -| `NN_DOMAIN` | None | NNG options are not divided by domain or protocol. | -| `NN_PROTOCOL` | `NNG_OPT_PROTO` | See also `NNG_OPT_PROTONAME`. | -| `NN_IPV4ONLY` | None | Use URL such as `tcp4://` to obtain this functionality. | -| `NN_SOCKET_NAME` | `NNG_OPT_SOCKNAME` | -| `NN_MAXTTL` | `NNG_OPT_MAXTTL` | +| Nanomsg Option | NNG Eqvaivalent | Notes | +| ---------------------- | ----------------------------- | ------------------------------------------------------- | +| `NN_LINGER` | None | NNG does not support tuning this. | +| `NN_SNDBUF` | `NNG_OPT_SENDBUF` | NNG value is given in messages, not bytes. | +| `NN_RCVBUF` | `NNG_OPT_RECVBUF` | NNG value is given in messages, not bytes. | +| `NN_SNDTIMEO` | `NNG_OPT_SENDTIMEO` | +| `NN_RCVTIMEO` | `NNG_OPT_RECVTIMEO` | +| `NN_RECONNECT_IVL` | `NNG_OPT_RECONNMINT` | +| `NN_RECONNECT_IVL_MAX` | `NNG_OPT_RECONNMAXT` | +| `NN_SNDPRIO` | None | Not supported in NNG yet. | +| `NN_RCVPRIO` | None | Not supported in NNG yet. | +| `NN_RCVFD` | `nng_socket_get_recv_poll_fd` | No longer an option, use a function call. | +| `NN_SNDFD` | `nng_socket_get_send_poll_fd` | No longer an option, use a function call. | +| `NN_DOMAIN` | None | NNG options are not divided by domain or protocol. | +| `NN_PROTOCOL` | `nng_socket_proto_id` | No longer an option. See also `nng_socket_proto_name`. | +| `NN_IPV4ONLY` | None | Use URL such as `tcp4://` to obtain this functionality. | +| `NN_SOCKET_NAME` | `NNG_OPT_SOCKNAME` | +| `NN_MAXTTL` | `NNG_OPT_MAXTTL` | ## Error Codes diff --git a/docs/ref/migrate/nng1.md b/docs/ref/migrate/nng1.md index 0e2c9a48..39968277 100644 --- a/docs/ref/migrate/nng1.md +++ b/docs/ref/migrate/nng1.md @@ -69,6 +69,15 @@ options must be set on the endpoint (dialer or listener) using the appropriate to allocate and configure the endpoint before attaching it to the socket. This will also afford a much more fine-grained level of control over transport options. +## Socket Options + +The `NNG_OPT_PROTO`, `NNG_OPT_PROTONAME`, `NNG_OPT_PEER`, and `NNG_OPT_PEERNAME` options +have been replaced by functions instead of options. +Use `nng_socket_proto_id`, `nng_socket_peer_id`, `nng_socket_proto_name`, and `nng_socket_peer_name` instead. +Note that the new functions provide a reference to a static string, and thus do not require +allocation, and the returned strings should not be freed. Also the IDs are provided as `uint16_t`, +matching the actual wire protocol values, instead of `int`. + ## Statistics Use Constified Pointers A number of the statistics functions take, or return, `const nng_stat *` instead diff --git a/include/nng/nng.h b/include/nng/nng.h index ac82954a..d0e47829 100644 --- a/include/nng/nng.h +++ b/include/nng/nng.h @@ -264,6 +264,13 @@ NNG_DECL int nng_socket_get_ms(nng_socket, const char *, nng_duration *); NNG_DECL int nng_socket_get_recv_poll_fd(nng_socket id, int *fdp); NNG_DECL int nng_socket_get_send_poll_fd(nng_socket id, int *fdp); +// These functions are used on a socket to get information about it's +// identity, and the identity of the peer. Few applications need these. +NNG_DECL int nng_socket_proto_id(nng_socket id, uint16_t *idp); +NNG_DECL int nng_socket_peer_id(nng_socket id, uint16_t *idp); +NNG_DECL int nng_socket_proto_name(nng_socket id, const char **namep); +NNG_DECL int nng_socket_peer_name(nng_socket id, const char **namep); + // Utility function for getting a printable form of the socket address // for display in logs, etc. It is not intended to be parsed, and the // display format may change without notice. Generally you should alow @@ -723,10 +730,6 @@ NNG_DECL nng_listener nng_pipe_listener(nng_pipe); // Options. #define NNG_OPT_SOCKNAME "socket-name" #define NNG_OPT_RAW "raw" -#define NNG_OPT_PROTO "protocol" -#define NNG_OPT_PROTONAME "protocol-name" -#define NNG_OPT_PEER "peer" -#define NNG_OPT_PEERNAME "peer-name" #define NNG_OPT_RECVBUF "recv-buffer" #define NNG_OPT_SENDBUF "send-buffer" #define NNG_OPT_RECVTIMEO "recv-timeout" diff --git a/src/core/socket.c b/src/core/socket.c index 9376f9de..0e9b6b17 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -227,30 +227,6 @@ sock_set_sockname(void *s, const void *buf, size_t sz, nni_type t) return (rv); } -static int -sock_get_proto(void *s, void *buf, size_t *szp, nni_type t) -{ - return (nni_copyout_int(nni_sock_proto_id(SOCK(s)), buf, szp, t)); -} - -static int -sock_get_peer(void *s, void *buf, size_t *szp, nni_type t) -{ - return (nni_copyout_int(nni_sock_peer_id(SOCK(s)), buf, szp, t)); -} - -static int -sock_get_protoname(void *s, void *buf, size_t *szp, nni_type t) -{ - return (nni_copyout_str(nni_sock_proto_name(SOCK(s)), buf, szp, t)); -} - -static int -sock_get_peername(void *s, void *buf, size_t *szp, nni_type t) -{ - return (nni_copyout_str(nni_sock_peer_name(SOCK(s)), buf, szp, t)); -} - static const nni_option sock_options[] = { { .o_name = NNG_OPT_RECVTIMEO, @@ -281,22 +257,6 @@ static const nni_option sock_options[] = { .o_name = NNG_OPT_RAW, .o_get = sock_get_raw, }, - { - .o_name = NNG_OPT_PROTO, - .o_get = sock_get_proto, - }, - { - .o_name = NNG_OPT_PEER, - .o_get = sock_get_peer, - }, - { - .o_name = NNG_OPT_PROTONAME, - .o_get = sock_get_protoname, - }, - { - .o_name = NNG_OPT_PEERNAME, - .o_get = sock_get_peername, - }, // terminate list { .o_name = NULL, @@ -1151,6 +1151,70 @@ nng_socket_get_send_poll_fd(nng_socket id, int *fdp) } int +nng_socket_proto_id(nng_socket id, uint16_t *idp) +{ + int rv; + nni_sock *sock; + + if (((rv = nni_init()) != 0) || + ((rv = nni_sock_find(&sock, id.id)) != 0)) { + return (rv); + } + + *idp = nni_sock_proto_id(sock); + nni_sock_rele(sock); + return (0); +} + +int +nng_socket_peer_id(nng_socket id, uint16_t *idp) +{ + int rv; + nni_sock *sock; + + if (((rv = nni_init()) != 0) || + ((rv = nni_sock_find(&sock, id.id)) != 0)) { + return (rv); + } + + *idp = nni_sock_peer_id(sock); + nni_sock_rele(sock); + return (0); +} + +int +nng_socket_proto_name(nng_socket id, const char **name) +{ + int rv; + nni_sock *sock; + + if (((rv = nni_init()) != 0) || + ((rv = nni_sock_find(&sock, id.id)) != 0)) { + return (rv); + } + + *name = nni_sock_proto_name(sock); + nni_sock_rele(sock); + return (0); +} + +int +nng_socket_peer_name(nng_socket id, const char **name) +{ + int rv; + nni_sock *sock; + + if (((rv = nni_init()) != 0) || + ((rv = nni_sock_find(&sock, id.id)) != 0)) { + return (rv); + } + + *name = nni_sock_peer_name(sock); + nni_sock_rele(sock); + return (0); +} + +int nng_pipe_notify(nng_socket s, nng_pipe_ev ev, nng_pipe_cb cb, void *arg) { int rv; diff --git a/src/sp/protocol/bus0/bus_test.c b/src/sp/protocol/bus0/bus_test.c index 7e049e34..7a9e4a8b 100644 --- a/src/sp/protocol/bus0/bus_test.c +++ b/src/sp/protocol/bus0/bus_test.c @@ -17,21 +17,19 @@ void test_bus_identity(void) { - nng_socket s; - int p; - char *n; + nng_socket s; + uint16_t p; + const char *n; NUTS_PASS(nng_bus0_open(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p)); + NUTS_PASS(nng_socket_proto_id(s, &p)); NUTS_TRUE(p == NNG_BUS0_SELF); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p)); + NUTS_PASS(nng_socket_peer_id(s, &p)); NUTS_TRUE(p == NNG_BUS0_PEER); // 49 - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n)); + NUTS_PASS(nng_socket_proto_name(s, &n)); NUTS_MATCH(n, NNG_BUS0_SELF_NAME); - nng_strfree(n); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n)); + NUTS_PASS(nng_socket_peer_name(s, &n)); NUTS_MATCH(n, NNG_BUS0_PEER_NAME); - nng_strfree(n); NUTS_CLOSE(s); } diff --git a/src/sp/protocol/pair0/pair0_test.c b/src/sp/protocol/pair0/pair0_test.c index e2196479..0cdfb789 100644 --- a/src/sp/protocol/pair0/pair0_test.c +++ b/src/sp/protocol/pair0/pair0_test.c @@ -21,21 +21,19 @@ static void test_identity(void) { - nng_socket s; - int p; - char *n; + nng_socket s; + uint16_t p; + const char *n; NUTS_PASS(nng_pair0_open(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p)); + NUTS_PASS(nng_socket_proto_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(1u, 0u)); // 16 - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p)); + NUTS_PASS(nng_socket_peer_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(1u, 0u)); // 17 - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n)); + NUTS_PASS(nng_socket_proto_name(s, &n)); NUTS_MATCH(n, "pair"); - nng_strfree(n); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n)); + NUTS_PASS(nng_socket_peer_name(s, &n)); NUTS_MATCH(n, "pair"); - nng_strfree(n); NUTS_CLOSE(s); } diff --git a/src/sp/protocol/pair1/pair1_poly_test.c b/src/sp/protocol/pair1/pair1_poly_test.c index 895dd935..acd7f44d 100644 --- a/src/sp/protocol/pair1/pair1_poly_test.c +++ b/src/sp/protocol/pair1/pair1_poly_test.c @@ -20,21 +20,19 @@ static void test_poly_identity(void) { - nng_socket s; - int p; - char *n; + nng_socket s; + uint16_t p; + const char *n; NUTS_PASS(nng_pair1_open_poly(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p)); + NUTS_PASS(nng_socket_proto_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(1u, 1u)); // 32 - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p)); + NUTS_PASS(nng_socket_peer_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(1u, 1u)); // 33 - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n)); + NUTS_PASS(nng_socket_proto_name(s, &n)); NUTS_MATCH(n, "pair1"); - nng_strfree(n); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n)); + NUTS_PASS(nng_socket_peer_name(s, &n)); NUTS_MATCH(n, "pair1"); - nng_strfree(n); NUTS_CLOSE(s); } diff --git a/src/sp/protocol/pair1/pair1_test.c b/src/sp/protocol/pair1/pair1_test.c index b6bbee1a..e0e6b3b2 100644 --- a/src/sp/protocol/pair1/pair1_test.c +++ b/src/sp/protocol/pair1/pair1_test.c @@ -21,21 +21,19 @@ static void test_mono_identity(void) { - nng_socket s; - int p; - char *n; + nng_socket s; + uint16_t p; + const char *n; NUTS_PASS(nng_pair1_open(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p)); + NUTS_PASS(nng_socket_proto_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(1u, 1u)); // 32 - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p)); + NUTS_PASS(nng_socket_peer_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(1u, 1u)); // 33 - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n)); + NUTS_PASS(nng_socket_proto_name(s, &n)); NUTS_MATCH(n, "pair1"); - nng_strfree(n); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n)); + NUTS_PASS(nng_socket_peer_name(s, &n)); NUTS_MATCH(n, "pair1"); - nng_strfree(n); NUTS_CLOSE(s); } diff --git a/src/sp/protocol/pipeline0/pull_test.c b/src/sp/protocol/pipeline0/pull_test.c index 6be5c2f5..59dcf8a8 100644 --- a/src/sp/protocol/pipeline0/pull_test.c +++ b/src/sp/protocol/pipeline0/pull_test.c @@ -13,21 +13,19 @@ static void test_pull_identity(void) { - nng_socket s; - int p; - char *n; + nng_socket s; + uint16_t p; + const char *n; NUTS_PASS(nng_pull0_open(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p)); + NUTS_PASS(nng_socket_proto_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(5u, 1u)); // 81 - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p)); + NUTS_PASS(nng_socket_peer_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(5u, 0u)); // 80 - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n)); + NUTS_PASS(nng_socket_proto_name(s, &n)); NUTS_MATCH(n, "pull"); - nng_strfree(n); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n)); + NUTS_PASS(nng_socket_peer_name(s, &n)); NUTS_MATCH(n, "push"); - nng_strfree(n); NUTS_CLOSE(s); } diff --git a/src/sp/protocol/pipeline0/push_test.c b/src/sp/protocol/pipeline0/push_test.c index 249c62a9..be60ba50 100644 --- a/src/sp/protocol/pipeline0/push_test.c +++ b/src/sp/protocol/pipeline0/push_test.c @@ -13,21 +13,19 @@ static void test_push_identity(void) { - nng_socket s; - int p; - char *n; + nng_socket s; + uint16_t p; + const char *n; NUTS_PASS(nng_push0_open(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p)); + NUTS_PASS(nng_socket_proto_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(5u, 0u)); // 80 - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p)); + NUTS_PASS(nng_socket_peer_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(5u, 1u)); // 81 - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n)); + NUTS_PASS(nng_socket_proto_name(s, &n)); NUTS_MATCH(n, "push"); - nng_strfree(n); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n)); + NUTS_PASS(nng_socket_peer_name(s, &n)); NUTS_MATCH(n, "pull"); - nng_strfree(n); NUTS_CLOSE(s); } diff --git a/src/sp/protocol/pubsub0/pub_test.c b/src/sp/protocol/pubsub0/pub_test.c index 4be4b06f..5f0ef01e 100644 --- a/src/sp/protocol/pubsub0/pub_test.c +++ b/src/sp/protocol/pubsub0/pub_test.c @@ -13,21 +13,19 @@ static void test_pub_identity(void) { - nng_socket s; - int p; - char *n; + nng_socket s; + uint16_t p; + const char *n; NUTS_PASS(nng_pub0_open(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p)); + NUTS_PASS(nng_socket_proto_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(2u, 0u)); // 32 - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p)); + NUTS_PASS(nng_socket_peer_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(2u, 1u)); // 33 - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n)); + NUTS_PASS(nng_socket_proto_name(s, &n)); NUTS_MATCH(n, "pub"); - nng_strfree(n); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n)); + NUTS_PASS(nng_socket_peer_name(s, &n)); NUTS_MATCH(n, "sub"); - nng_strfree(n); NUTS_CLOSE(s); } diff --git a/src/sp/protocol/pubsub0/sub_test.c b/src/sp/protocol/pubsub0/sub_test.c index ef38042a..b823d486 100644 --- a/src/sp/protocol/pubsub0/sub_test.c +++ b/src/sp/protocol/pubsub0/sub_test.c @@ -13,21 +13,19 @@ static void test_sub_identity(void) { - nng_socket s; - int p; - char *n; + nng_socket s; + uint16_t p; + const char *n; NUTS_PASS(nng_sub0_open(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p)); + NUTS_PASS(nng_socket_proto_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(2u, 1u)); // 33 - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p)); + NUTS_PASS(nng_socket_peer_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(2u, 0u)); // 32 - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n)); + NUTS_PASS(nng_socket_proto_name(s, &n)); NUTS_MATCH(n, "sub"); - nng_strfree(n); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n)); + NUTS_PASS(nng_socket_peer_name(s, &n)); NUTS_MATCH(n, "pub"); - nng_strfree(n); NUTS_CLOSE(s); } diff --git a/src/sp/protocol/pubsub0/xsub_test.c b/src/sp/protocol/pubsub0/xsub_test.c index b8f303f3..8e5568c4 100644 --- a/src/sp/protocol/pubsub0/xsub_test.c +++ b/src/sp/protocol/pubsub0/xsub_test.c @@ -13,21 +13,19 @@ static void test_xsub_identity(void) { - nng_socket s; - int p; - char *n; + nng_socket s; + uint16_t p; + const char *n; NUTS_PASS(nng_sub0_open_raw(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p)); + NUTS_PASS(nng_socket_proto_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(2u, 1u)); // 33 - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p)); + NUTS_PASS(nng_socket_peer_id(s, &p)); NUTS_TRUE(p == NUTS_PROTO(2u, 0u)); // 32 - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n)); + NUTS_PASS(nng_socket_proto_name(s, &n)); NUTS_MATCH(n, "sub"); - nng_strfree(n); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n)); + NUTS_PASS(nng_socket_peer_name(s, &n)); NUTS_MATCH(n, "pub"); - nng_strfree(n); NUTS_CLOSE(s); } diff --git a/src/sp/protocol/reqrep0/rep_test.c b/src/sp/protocol/reqrep0/rep_test.c index 58a54afe..6ca8fbca 100644 --- a/src/sp/protocol/reqrep0/rep_test.c +++ b/src/sp/protocol/reqrep0/rep_test.c @@ -13,23 +13,21 @@ static void test_rep_identity(void) { - nng_socket s; - int p1, p2; - char *n1; - char *n2; + nng_socket s; + uint16_t p1, p2; + const char *n1; + const char *n2; NUTS_PASS(nng_rep0_open(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p1)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p2)); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n1)); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n2)); + NUTS_PASS(nng_socket_proto_id(s, &p1)); + NUTS_PASS(nng_socket_peer_id(s, &p2)); + NUTS_PASS(nng_socket_proto_name(s, &n1)); + NUTS_PASS(nng_socket_peer_name(s, &n2)); NUTS_CLOSE(s); NUTS_TRUE(p1 == NNG_REP0_SELF); NUTS_TRUE(p2 == NNG_REP0_PEER); NUTS_MATCH(n1, NNG_REP0_SELF_NAME); NUTS_MATCH(n2, NNG_REP0_PEER_NAME); - nng_strfree(n1); - nng_strfree(n2); } void diff --git a/src/sp/protocol/reqrep0/req_test.c b/src/sp/protocol/reqrep0/req_test.c index 61d9b347..08b40b08 100644 --- a/src/sp/protocol/reqrep0/req_test.c +++ b/src/sp/protocol/reqrep0/req_test.c @@ -14,21 +14,19 @@ static void test_req_identity(void) { - nng_socket s; - int p; - char *n; + nng_socket s; + uint16_t p; + const char *n; NUTS_PASS(nng_req0_open(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p)); + NUTS_PASS(nng_socket_proto_id(s, &p)); NUTS_TRUE(p == NNG_REQ0_SELF); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p)); + NUTS_PASS(nng_socket_peer_id(s, &p)); NUTS_TRUE(p == NNG_REQ0_PEER); // 49 - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n)); + NUTS_PASS(nng_socket_proto_name(s, &n)); NUTS_MATCH(n, NNG_REQ0_SELF_NAME); - nng_strfree(n); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n)); + NUTS_PASS(nng_socket_peer_name(s, &n)); NUTS_MATCH(n, NNG_REQ0_PEER_NAME); - nng_strfree(n); NUTS_CLOSE(s); } diff --git a/src/sp/protocol/reqrep0/xrep_test.c b/src/sp/protocol/reqrep0/xrep_test.c index 67e38449..c1a7cb62 100644 --- a/src/sp/protocol/reqrep0/xrep_test.c +++ b/src/sp/protocol/reqrep0/xrep_test.c @@ -13,23 +13,21 @@ static void test_xrep_identity(void) { - nng_socket s; - int p1, p2; - char *n1; - char *n2; + nng_socket s; + uint16_t p1, p2; + const char *n1; + const char *n2; NUTS_PASS(nng_rep0_open_raw(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p1)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p2)); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n1)); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n2)); + NUTS_PASS(nng_socket_proto_id(s, &p1)); + NUTS_PASS(nng_socket_peer_id(s, &p2)); + NUTS_PASS(nng_socket_proto_name(s, &n1)); + NUTS_PASS(nng_socket_peer_name(s, &n2)); NUTS_CLOSE(s); NUTS_TRUE(p1 == NNG_REP0_SELF); NUTS_TRUE(p2 == NNG_REP0_PEER); NUTS_MATCH(n1, NNG_REP0_SELF_NAME); NUTS_MATCH(n2, NNG_REP0_PEER_NAME); - nng_strfree(n1); - nng_strfree(n2); } static void diff --git a/src/sp/protocol/reqrep0/xreq_test.c b/src/sp/protocol/reqrep0/xreq_test.c index 3ebe92da..7e09ce5a 100644 --- a/src/sp/protocol/reqrep0/xreq_test.c +++ b/src/sp/protocol/reqrep0/xreq_test.c @@ -13,23 +13,21 @@ static void test_xreq_identity(void) { - nng_socket s; - int p1, p2; - char *n1; - char *n2; + nng_socket s; + uint16_t p1, p2; + const char *n1; + const char *n2; NUTS_PASS(nng_req0_open_raw(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p1)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p2)); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n1)); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n2)); + NUTS_PASS(nng_socket_proto_id(s, &p1)); + NUTS_PASS(nng_socket_peer_id(s, &p2)); + NUTS_PASS(nng_socket_proto_name(s, &n1)); + NUTS_PASS(nng_socket_peer_name(s, &n2)); NUTS_CLOSE(s); NUTS_TRUE(p1 == NNG_REQ0_SELF); NUTS_TRUE(p2 == NNG_REQ0_PEER); NUTS_MATCH(n1, NNG_REQ0_SELF_NAME); NUTS_MATCH(n2, NNG_REQ0_PEER_NAME); - nng_strfree(n1); - nng_strfree(n2); } static void diff --git a/src/sp/protocol/survey0/respond_test.c b/src/sp/protocol/survey0/respond_test.c index 0dad2222..5e3dad34 100644 --- a/src/sp/protocol/survey0/respond_test.c +++ b/src/sp/protocol/survey0/respond_test.c @@ -13,21 +13,19 @@ void test_resp_identity(void) { - nng_socket s; - int p; - char *n; + nng_socket s; + uint16_t p; + const char *n; NUTS_PASS(nng_respondent0_open(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p)); + NUTS_PASS(nng_socket_proto_id(s, &p)); NUTS_TRUE(p == NNG_RESPONDENT0_SELF); - NUTS_TRUE(nng_socket_get_int(s, NNG_OPT_PEER, &p) == 0); + NUTS_TRUE(nng_socket_peer_id(s, &p) == 0); NUTS_TRUE(p == NNG_RESPONDENT0_PEER); - NUTS_TRUE(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n) == 0); + NUTS_TRUE(nng_socket_proto_name(s, &n) == 0); NUTS_MATCH(n, NNG_RESPONDENT0_SELF_NAME); - nng_strfree(n); - NUTS_TRUE(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n) == 0); + NUTS_TRUE(nng_socket_peer_name(s, &n) == 0); NUTS_MATCH(n, NNG_RESPONDENT0_PEER_NAME); - nng_strfree(n); NUTS_CLOSE(s); } diff --git a/src/sp/protocol/survey0/survey_test.c b/src/sp/protocol/survey0/survey_test.c index 76fe138d..e860dc14 100644 --- a/src/sp/protocol/survey0/survey_test.c +++ b/src/sp/protocol/survey0/survey_test.c @@ -14,21 +14,19 @@ static void test_surv_identity(void) { - nng_socket s; - int p; - char *n; + nng_socket s; + uint16_t p; + const char *n; NUTS_PASS(nng_surveyor0_open(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p)); + NUTS_PASS(nng_socket_proto_id(s, &p)); NUTS_TRUE(p == NNG_SURVEYOR0_SELF); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p)); + NUTS_PASS(nng_socket_peer_id(s, &p)); NUTS_TRUE(p == NNG_SURVEYOR0_PEER); // 49 - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n)); + NUTS_PASS(nng_socket_proto_name(s, &n)); NUTS_MATCH(n, NNG_SURVEYOR0_SELF_NAME); - nng_strfree(n); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n)); + NUTS_PASS(nng_socket_peer_name(s, &n)); NUTS_MATCH(n, NNG_SURVEYOR0_PEER_NAME); - nng_strfree(n); NUTS_CLOSE(s); } diff --git a/src/sp/protocol/survey0/xrespond_test.c b/src/sp/protocol/survey0/xrespond_test.c index 8b8787f9..1522d1ed 100644 --- a/src/sp/protocol/survey0/xrespond_test.c +++ b/src/sp/protocol/survey0/xrespond_test.c @@ -13,23 +13,21 @@ static void test_xresp_identity(void) { - nng_socket s; - int p1, p2; - char *n1; - char *n2; + nng_socket s; + uint16_t p1, p2; + const char *n1; + const char *n2; NUTS_PASS(nng_respondent0_open_raw(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p1)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p2)); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n1)); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n2)); + NUTS_PASS(nng_socket_proto_id(s, &p1)); + NUTS_PASS(nng_socket_peer_id(s, &p2)); + NUTS_PASS(nng_socket_proto_name(s, &n1)); + NUTS_PASS(nng_socket_peer_name(s, &n2)); NUTS_CLOSE(s); NUTS_TRUE(p1 == NNG_RESPONDENT0_SELF); NUTS_TRUE(p2 == NNG_RESPONDENT0_PEER); NUTS_MATCH(n1, NNG_RESPONDENT0_SELF_NAME); NUTS_MATCH(n2, NNG_RESPONDENT0_PEER_NAME); - nng_strfree(n1); - nng_strfree(n2); } static void diff --git a/src/sp/protocol/survey0/xsurvey_test.c b/src/sp/protocol/survey0/xsurvey_test.c index efa54101..41c76cb2 100644 --- a/src/sp/protocol/survey0/xsurvey_test.c +++ b/src/sp/protocol/survey0/xsurvey_test.c @@ -13,21 +13,19 @@ static void test_xsurveyor_identity(void) { - nng_socket s; - int p; - char *n; + nng_socket s; + uint16_t p; + const char *n; NUTS_PASS(nng_surveyor0_open_raw(&s)); - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PROTO, &p)); + NUTS_PASS(nng_socket_proto_id(s, &p)); NUTS_TRUE(p == NNG_SURVEYOR0_SELF); // 0x62 - NUTS_PASS(nng_socket_get_int(s, NNG_OPT_PEER, &p)); + NUTS_PASS(nng_socket_peer_id(s, &p)); NUTS_TRUE(p == NNG_SURVEYOR0_PEER); // 0x62 - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PROTONAME, &n)); + NUTS_PASS(nng_socket_proto_name(s, &n)); NUTS_MATCH(n, NNG_SURVEYOR0_SELF_NAME); - nng_strfree(n); - NUTS_PASS(nng_socket_get_string(s, NNG_OPT_PEERNAME, &n)); + NUTS_PASS(nng_socket_peer_name(s, &n)); NUTS_MATCH(n, NNG_SURVEYOR0_PEER_NAME); - nng_strfree(n); NUTS_CLOSE(s); } |
