[nanomsg] Re: nn_recv with padding

  • From: Martin Sustrik <sustrik@xxxxxxxxxx>
  • To: nanomsg@xxxxxxxxxxxxx
  • Date: Mon, 12 May 2014 13:15:09 +0200

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 12/05/14 13:10, Drew Crawford wrote:
> I’m not completely sure I’ve expressed my problem intelligibly, but
> my goal is to produce a zero-copy contiguous array of (let’s say) 
> messageSize + 16, with the extra bytes leading or trailing as
> desired.
> 
> As far as I comprehend the documentation, nn_recvmsg allows me to 
> receive data into a *non*contiguous array.  But I don’t know how to
> use it to produce a contiguous array of messageSize + 16.

The idea is (in pseudocode):

const char *padding = "PADDING"

void *buf;
nn_recv (s, &buf, NN_MSG, 0);

iovec iov[2];
iov[0].iov_base = &buf;
iov[0].iov_len = NN_MSG;
iov[1].iov_base = padding;
iov[1].iov_len = 7;
nn_sendmsg (s2, iov, 0);

Martin

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJTcK08AAoJENTpVjxCNN9YJZcH/2+CX45EczxZ7E+6KauJ7s6L
bXyKqgcRFA4X8yEOeDwUFcP0zmjX5imvjZF7EdrBZtvqLN7n1mtykrDjyJL5/r+p
lxn3O8Dm+FCu8N+vDvQ093XP7cgrE1X/Ibzne33QBdrlOMKac9+D80PkJmt9KxGx
WmMmbbiyDnQpA/W6SFjNzrwZ5pzaXxIj8ghsXQW51kbrGnS21PhIAFN51uL4y6+G
SBFkf/g2FrShlz2s1+5IsXPySeDZnu0XhMiKo7d5/VLMO6vTCRX0r2wSEPL3kr3O
fvE8KClBzRicN5IqGYKkt4SnhDfEjEsm2IkscOjKEk3MzansgYM/d8Cx6E/9KsA=
=ncZ2
-----END PGP SIGNATURE-----

Other related posts: