aboutsummaryrefslogtreecommitdiff
path: root/src/sp/protocol/pair1
diff options
context:
space:
mode:
Diffstat (limited to 'src/sp/protocol/pair1')
-rw-r--r--src/sp/protocol/pair1/pair.c62
-rw-r--r--src/sp/protocol/pair1/pair1_test.c5
2 files changed, 27 insertions, 40 deletions
diff --git a/src/sp/protocol/pair1/pair.c b/src/sp/protocol/pair1/pair.c
index 1704d537..d7596fb9 100644
--- a/src/sp/protocol/pair1/pair.c
+++ b/src/sp/protocol/pair1/pair.c
@@ -724,29 +724,19 @@ pair1_get_recv_buf_len(void *arg, void *buf, size_t *szp, nni_opt_type t)
}
static int
-pair1_sock_get_recv_fd(void *arg, void *buf, size_t *szp, nni_opt_type t)
+pair1_sock_get_recv_fd(void *arg, int *fdp)
{
pair1_sock *s = arg;
- int rv;
- int fd;
- if ((rv = nni_pollable_getfd(&s->readable, &fd)) != 0) {
- return (rv);
- }
- return (nni_copyout_int(fd, buf, szp, t));
+ return (nni_pollable_getfd(&s->readable, fdp));
}
static int
-pair1_sock_get_send_fd(void *arg, void *buf, size_t *szp, nni_opt_type t)
+pair1_sock_get_send_fd(void *arg, int *fdp)
{
pair1_sock *s = arg;
- int rv;
- int fd;
- if ((rv = nni_pollable_getfd(&s->writable, &fd)) != 0) {
- return (rv);
- }
- return (nni_copyout_int(fd, buf, szp, t));
+ return (nni_pollable_getfd(&s->writable, fdp));
}
static nni_proto_pipe_ops pair1_pipe_ops = {
@@ -765,14 +755,6 @@ static nni_option pair1_sock_options[] = {
.o_set = pair1_sock_set_max_ttl,
},
{
- .o_name = NNG_OPT_RECVFD,
- .o_get = pair1_sock_get_recv_fd,
- },
- {
- .o_name = NNG_OPT_SENDFD,
- .o_get = pair1_sock_get_send_fd,
- },
- {
.o_name = NNG_OPT_SENDBUF,
.o_get = pair1_get_send_buf_len,
.o_set = pair1_set_send_buf_len,
@@ -797,14 +779,16 @@ static nni_option pair1_sock_options[] = {
};
static nni_proto_sock_ops pair1_sock_ops = {
- .sock_size = sizeof(pair1_sock),
- .sock_init = pair1_sock_init,
- .sock_fini = pair1_sock_fini,
- .sock_open = pair1_sock_open,
- .sock_close = pair1_sock_close,
- .sock_recv = pair1_sock_recv,
- .sock_send = pair1_sock_send,
- .sock_options = pair1_sock_options,
+ .sock_size = sizeof(pair1_sock),
+ .sock_init = pair1_sock_init,
+ .sock_fini = pair1_sock_fini,
+ .sock_open = pair1_sock_open,
+ .sock_close = pair1_sock_close,
+ .sock_recv = pair1_sock_recv,
+ .sock_send = pair1_sock_send,
+ .sock_recv_poll_fd = pair1_sock_get_recv_fd,
+ .sock_send_poll_fd = pair1_sock_get_send_fd,
+ .sock_options = pair1_sock_options,
};
static nni_proto pair1_proto = {
@@ -823,14 +807,16 @@ nng_pair1_open(nng_socket *sock)
}
static nni_proto_sock_ops pair1_sock_ops_raw = {
- .sock_size = sizeof(pair1_sock),
- .sock_init = pair1_sock_init_raw,
- .sock_fini = pair1_sock_fini,
- .sock_open = pair1_sock_open,
- .sock_close = pair1_sock_close,
- .sock_recv = pair1_sock_recv,
- .sock_send = pair1_sock_send,
- .sock_options = pair1_sock_options,
+ .sock_size = sizeof(pair1_sock),
+ .sock_init = pair1_sock_init_raw,
+ .sock_fini = pair1_sock_fini,
+ .sock_open = pair1_sock_open,
+ .sock_close = pair1_sock_close,
+ .sock_recv = pair1_sock_recv,
+ .sock_send = pair1_sock_send,
+ .sock_recv_poll_fd = pair1_sock_get_recv_fd,
+ .sock_send_poll_fd = pair1_sock_get_send_fd,
+ .sock_options = pair1_sock_options,
};
static nni_proto pair1_proto_raw = {
diff --git a/src/sp/protocol/pair1/pair1_test.c b/src/sp/protocol/pair1/pair1_test.c
index ea80d80c..b6bbee1a 100644
--- a/src/sp/protocol/pair1/pair1_test.c
+++ b/src/sp/protocol/pair1/pair1_test.c
@@ -8,6 +8,7 @@
// found online at https://opensource.org/licenses/MIT.
//
+#include "nng/nng.h"
#include <nuts.h>
#define SECOND 1000
@@ -524,7 +525,7 @@ test_pair1_poll_readable(void)
NUTS_PASS(nng_pair1_open(&s2));
NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 1000));
NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, 1000));
- NUTS_PASS(nng_socket_get_int(s1, NNG_OPT_RECVFD, &fd));
+ NUTS_PASS(nng_socket_get_recv_poll_fd(s1, &fd));
NUTS_TRUE(fd >= 0);
// Not readable if not connected!
@@ -570,7 +571,7 @@ test_pair1_poll_writable(void)
NUTS_PASS(nng_pair1_open(&s2));
NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 1000));
NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, 1000));
- NUTS_PASS(nng_socket_get_int(s1, NNG_OPT_SENDFD, &fd));
+ NUTS_PASS(nng_socket_get_send_poll_fd(s1, &fd));
NUTS_TRUE(fd >= 0);
// Not writable if not connected!