[zeromq-dev] ByteBuffer API for JZMQ

Parag Patel Parag.Patel at fusionts.com
Mon May 13 19:35:00 CEST 2013


Why not just call ByteBuffer.wrap?  The array that is returned today is already copied.  When you wrap, you’re essentially creating a ByteBuffer that references the byte[] passed back by zeromq.  When you allocate direct, you’re unnecessarily copying this byte[] again.

Parag

From: zeromq-dev-bounces at lists.zeromq.org [mailto:zeromq-dev-bounces at lists.zeromq.org] On Behalf Of Trevor Bernard
Sent: Monday, May 13, 2013 12:59 PM
To: ZeroMQ development list
Subject: [zeromq-dev] ByteBuffer API for JZMQ

In the next couple of days I will be writing a ByteByffer API for JZMQ I would like to hear the communities thoughts.

I was thinking of something along the lines of:

int sendByteBuffer(ByteBuffer bb, int flags);
int recvByteBuffer(ByteBuffer bb, int flags);
int recvByteBuffer(int flags);

Implementation seems straightforward enough. Though it really only makes sense to use a Direct ByteBuffer since it's allocated off the heap and can be passed to libzmq without a copy. Otherwise you'd have to copy the underlying byte[].

So does it make sense to only support a direct bytebuffer?

Thoughts?

-Trev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20130513/c08f42dc/attachment.htm>


More information about the zeromq-dev mailing list