From e236dc8141f4d00dc926fbfba7739dabf96ebcdd Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Wed, 20 Sep 2017 12:11:53 -0700 Subject: 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.) --- src/protocol/reqrep/rep.c | 2 ++ src/protocol/reqrep/req.c | 1 + 2 files changed, 3 insertions(+) (limited to 'src/protocol/reqrep') 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) { -- cgit v1.2.3-70-g09d2