[zeromq-dev] zmq_recvmsg jni

Trevor Bernard trevor.bernard at gmail.com
Sat Sep 28 23:48:53 CEST 2013


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



More information about the zeromq-dev mailing list