diff options
| author | Garrett D'Amore <garrett@damore.org> | 2018-05-17 12:54:01 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2018-05-17 19:29:37 -0700 |
| commit | 70d478f5d185e147ca8d3dcba4cbd8bb6da3719a (patch) | |
| tree | 443e3b0e81138d7c195660d45eca7d4d497af8ac /src/protocol/reqrep0 | |
| parent | e490aa3353f05e158a0f1f485f371cd49e70b4f5 (diff) | |
| download | nng-70d478f5d185e147ca8d3dcba4cbd8bb6da3719a.tar.gz nng-70d478f5d185e147ca8d3dcba4cbd8bb6da3719a.tar.bz2 nng-70d478f5d185e147ca8d3dcba4cbd8bb6da3719a.zip | |
fixes #449 Want more flexible pipe events
This changes the signature of nng_pipe_notify(), and the associated
events. The documentation is updated to reflect this.
We have also broken the lock up so that we don't hold the master
socket lock for some of these things, which may have beneficial
impact on performance.
Diffstat (limited to 'src/protocol/reqrep0')
| -rw-r--r-- | src/protocol/reqrep0/rep.c | 5 | ||||
| -rw-r--r-- | src/protocol/reqrep0/xrep.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/protocol/reqrep0/rep.c b/src/protocol/reqrep0/rep.c index c483b777..24fc7335 100644 --- a/src/protocol/reqrep0/rep.c +++ b/src/protocol/reqrep0/rep.c @@ -346,6 +346,11 @@ rep0_pipe_start(void *arg) rep0_sock *s = p->rep; int rv; + if (nni_pipe_peer(p->pipe) != NNI_PROTO_REQ_V0) { + // Peer protocol mismatch. + return (NNG_EPROTO); + } + if ((rv = nni_idhash_insert(s->pipes, nni_pipe_id(p->pipe), p)) != 0) { return (rv); } diff --git a/src/protocol/reqrep0/xrep.c b/src/protocol/reqrep0/xrep.c index 6dcfe6be..f6cd29eb 100644 --- a/src/protocol/reqrep0/xrep.c +++ b/src/protocol/reqrep0/xrep.c @@ -178,6 +178,11 @@ xrep0_pipe_start(void *arg) xrep0_sock *s = p->rep; int rv; + if (nni_pipe_peer(p->pipe) != NNI_PROTO_REQ_V0) { + // Peer protocol mismatch. + return (NNG_EPROTO); + } + if ((rv = nni_idhash_insert(s->pipes, nni_pipe_id(p->pipe), p)) != 0) { return (rv); } |
