diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-09-20 12:11:53 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-09-22 12:33:50 -0700 |
| commit | e236dc8141f4d00dc926fbfba7739dabf96ebcdd (patch) | |
| tree | 3c88190966eac4d888008d5076e7edd1817f64a2 /src/protocol | |
| parent | f04cfd27e2d67b0fc89b079410fc11b55b6d1979 (diff) | |
| download | nng-e236dc8141f4d00dc926fbfba7739dabf96ebcdd.tar.gz nng-e236dc8141f4d00dc926fbfba7739dabf96ebcdd.tar.bz2 nng-e236dc8141f4d00dc926fbfba7739dabf96ebcdd.zip | |
More pipe option handling, pipe API support. Url option.
This fleshes most of the pipe API out, making it available to end user
code. It also adds a URL option that is independent of the address
options (which would be sockaddrs.)
Also, we are now setting the pipe for req/rep. The other protocols need
to have the same logic added to set the receive pipe on the message. (Pair
is already done.)
Diffstat (limited to 'src/protocol')
| -rw-r--r-- | src/protocol/reqrep/rep.c | 2 | ||||
| -rw-r--r-- | src/protocol/reqrep/req.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/protocol/reqrep/rep.c b/src/protocol/reqrep/rep.c index c26be0b0..6641c58f 100644 --- a/src/protocol/reqrep/rep.c +++ b/src/protocol/reqrep/rep.c @@ -275,6 +275,8 @@ rep_pipe_recv_cb(void *arg) msg = nni_aio_get_msg(p->aio_recv); nni_aio_set_msg(p->aio_recv, NULL); + nni_msg_set_pipe(msg, nni_pipe_id(p->pipe)); + // Store the pipe id in the header, first thing. rv = nni_msg_header_append_u32(msg, nni_pipe_id(p->pipe)); if (rv != 0) { diff --git a/src/protocol/reqrep/req.c b/src/protocol/reqrep/req.c index 1b68c6dd..c2008a9a 100644 --- a/src/protocol/reqrep/req.c +++ b/src/protocol/reqrep/req.c @@ -405,6 +405,7 @@ req_recv_cb(void *arg) msg = nni_aio_get_msg(p->aio_recv); nni_aio_set_msg(p->aio_recv, NULL); + nni_msg_set_pipe(msg, nni_pipe_id(p->pipe)); // We yank 4 bytes of body, and move them to the header. if (nni_msg_len(msg) < 4) { |
