I think we lack a recv function that delivers data as a fresh blob
that can be freed using the standard free() method. I.e. like
zmq_msg_init_data but for receipt, not sending...

On Sat, Sep 28, 2013 at 11:48 PM, Trevor Bernard
<trevor.bern...@gmail.com> wrote:
> Hi guys,
>
> I messing around with JNI and libzmq and I was wondering if there was
> a way to avoid the memcpy?
>
> JNIEXPORT
> jobject JNICALL
> Java_org_zeromq_jni_ZMQ_zmq_1recv__JI (JNIEnv *env, jclass c, jlong
> socket, jint flags)
> {
>     zmq_msg_t msg;
>     zmq_msg_init (&msg);
>     zmq_recvmsg ((void *) socket, &msg, flags);
>     int size = zmq_msg_size (&msg);
>     void *data = malloc(size);
>     memcpy(data, zmq_msg_data (&msg), size);
>     zmq_msg_close(&msg);
>     return env->NewDirectByteBuffer(data, size);
> }
>
> Cheers,
>
> Trev
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev@lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to