void vr_message_free(struct vr_message *message) { if (message) { if (message->vr_message_buf) vr_mtrans_free(message->vr_message_buf); vr_free(message); } return; }
void vr_message_free(struct vr_message *message) { if (message) { if (message->vr_message_buf) vr_mtrans_free(message->vr_message_buf); vr_free(message, VR_MESSAGE_RESPONSE_OBJECT); } return; }
int vr_message_process_response(int (*cb)(void *, unsigned int, void *), void *cb_arg) { struct vr_message *response; struct vr_mproto *proto; struct vr_mtransport *trans; proto = message_h.vm_proto; trans = message_h.vm_trans; if (!proto || !trans) return 0; while ((response = vr_message_dequeue_response())) { proto->mproto_decode(response->vr_message_buf, response->vr_message_len, cb, cb_arg); if (response->vr_message_buf) vr_mtrans_free(response->vr_message_buf); vr_message_free(response); } return 0; }