aboutsummaryrefslogtreecommitdiff
path: root/src/transport/tcp
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2018-12-28 21:07:58 -0800
committerGarrett D'Amore <garrett@damore.org>2018-12-29 14:22:06 -0800
commitd3bd35ab49ad74528fd9e34cce9016d74dd91943 (patch)
tree596459970f49a340f5e292f7bdb4060f4ea2be81 /src/transport/tcp
parent02e90dd4f29037e43f28e3bd1e912d4092011d23 (diff)
downloadnng-d3bd35ab49ad74528fd9e34cce9016d74dd91943.tar.gz
nng-d3bd35ab49ad74528fd9e34cce9016d74dd91943.tar.bz2
nng-d3bd35ab49ad74528fd9e34cce9016d74dd91943.zip
fixes #831 Unify option structures, o_type is unused
Diffstat (limited to 'src/transport/tcp')
-rw-r--r--src/transport/tcp/tcp.c44
1 files changed, 7 insertions, 37 deletions
diff --git a/src/transport/tcp/tcp.c b/src/transport/tcp/tcp.c
index be8f6bc3..4f7dbd72 100644
--- a/src/transport/tcp/tcp.c
+++ b/src/transport/tcp/tcp.c
@@ -996,7 +996,8 @@ tcptran_ep_set_recvmaxsz(void *arg, const void *v, size_t sz, nni_opt_type t)
tcptran_ep *ep = arg;
size_t val;
int rv;
- if ((rv = nni_copyin_size(&val, v, sz, 0, NNI_MAXSZ, t)) == 0) {
+ if (((rv = nni_copyin_size(&val, v, sz, 0, NNI_MAXSZ, t)) == 0) &&
+ (ep != NULL)) {
tcptran_pipe *p;
nni_mtx_lock(&ep->mtx);
ep->rcvmax = val;
@@ -1025,7 +1026,7 @@ tcptran_ep_set_nodelay(void *arg, const void *v, size_t sz, nni_opt_type t)
tcptran_ep *ep = arg;
bool val;
int rv;
- if ((rv = nni_copyin_bool(&val, v, sz, t)) == 0) {
+ if (((rv = nni_copyin_bool(&val, v, sz, t)) == 0) && (ep != NULL)) {
nni_mtx_lock(&ep->mtx);
ep->nodelay = val;
nni_mtx_unlock(&ep->mtx);
@@ -1051,7 +1052,7 @@ tcptran_ep_set_keepalive(void *arg, const void *v, size_t sz, nni_opt_type t)
tcptran_ep *ep = arg;
bool val;
int rv;
- if ((rv = nni_copyin_bool(&val, v, sz, t)) == 0) {
+ if (((rv = nni_copyin_bool(&val, v, sz, t)) == 0) && (ep != NULL)) {
nni_mtx_lock(&ep->mtx);
ep->keepalive = val;
nni_mtx_unlock(&ep->mtx);
@@ -1114,37 +1115,21 @@ tcptran_ep_get_locaddr(void *arg, void *buf, size_t *szp, nni_opt_type t)
return (rv);
}
-static int
-tcptran_check_bool(const void *v, size_t sz, nni_opt_type t)
-{
- return (nni_copyin_bool(NULL, v, sz, t));
-}
-
-static int
-tcptran_check_recvmaxsz(const void *v, size_t sz, nni_opt_type t)
-{
- return (nni_copyin_size(NULL, v, sz, 0, NNI_MAXSZ, t));
-}
-
-static nni_tran_option tcptran_pipe_options[] = {
+static nni_option tcptran_pipe_options[] = {
{
.o_name = NNG_OPT_LOCADDR,
- .o_type = NNI_TYPE_SOCKADDR,
.o_get = tcptran_pipe_get_locaddr,
},
{
.o_name = NNG_OPT_REMADDR,
- .o_type = NNI_TYPE_SOCKADDR,
.o_get = tcptran_pipe_get_remaddr,
},
{
.o_name = NNG_OPT_TCP_KEEPALIVE,
- .o_type = NNI_TYPE_BOOL,
.o_get = tcptran_pipe_get_keepalive,
},
{
.o_name = NNG_OPT_TCP_NODELAY,
- .o_type = NNI_TYPE_BOOL,
.o_get = tcptran_pipe_get_nodelay,
},
// terminate list
@@ -1164,32 +1149,25 @@ static nni_tran_pipe_ops tcptran_pipe_ops = {
.p_options = tcptran_pipe_options,
};
-static nni_tran_option tcptran_dialer_options[] = {
+static nni_option tcptran_dialer_options[] = {
{
.o_name = NNG_OPT_RECVMAXSZ,
- .o_type = NNI_TYPE_SIZE,
.o_get = tcptran_ep_get_recvmaxsz,
.o_set = tcptran_ep_set_recvmaxsz,
- .o_chk = tcptran_check_recvmaxsz,
},
{
.o_name = NNG_OPT_URL,
- .o_type = NNI_TYPE_STRING,
.o_get = tcptran_ep_get_url,
},
{
.o_name = NNG_OPT_TCP_NODELAY,
- .o_type = NNI_TYPE_BOOL,
.o_get = tcptran_ep_get_nodelay,
.o_set = tcptran_ep_set_nodelay,
- .o_chk = tcptran_check_bool,
},
{
.o_name = NNG_OPT_TCP_KEEPALIVE,
- .o_type = NNI_TYPE_BOOL,
.o_get = tcptran_ep_get_keepalive,
.o_set = tcptran_ep_set_keepalive,
- .o_chk = tcptran_check_bool,
},
// terminate list
{
@@ -1197,37 +1175,29 @@ static nni_tran_option tcptran_dialer_options[] = {
},
};
-static nni_tran_option tcptran_listener_options[] = {
+static nni_option tcptran_listener_options[] = {
{
.o_name = NNG_OPT_RECVMAXSZ,
- .o_type = NNI_TYPE_SIZE,
.o_get = tcptran_ep_get_recvmaxsz,
.o_set = tcptran_ep_set_recvmaxsz,
- .o_chk = tcptran_check_recvmaxsz,
},
{
.o_name = NNG_OPT_LOCADDR,
- .o_type = NNI_TYPE_SOCKADDR,
.o_get = tcptran_ep_get_locaddr,
},
{
.o_name = NNG_OPT_URL,
- .o_type = NNI_TYPE_STRING,
.o_get = tcptran_ep_get_url,
},
{
.o_name = NNG_OPT_TCP_NODELAY,
- .o_type = NNI_TYPE_BOOL,
.o_get = tcptran_ep_get_nodelay,
.o_set = tcptran_ep_set_nodelay,
- .o_chk = tcptran_check_bool,
},
{
.o_name = NNG_OPT_TCP_KEEPALIVE,
- .o_type = NNI_TYPE_BOOL,
.o_get = tcptran_ep_get_keepalive,
.o_set = tcptran_ep_set_keepalive,
- .o_chk = tcptran_check_bool,
},
// terminate list
{