zre_msg_t * zre_msg_recv_nowait (void *input) { assert (input); zmsg_t *msg = zmsg_recv_nowait (input); return zre_msg_decode (&msg, zsocket_type (input)); }
zgossip_msg_t * zgossip_msg_recv_nowait (void *input) { assert (input); zmsg_t *msg = zmsg_recv_nowait (input); // If message came from a router socket, first frame is routing_id zframe_t *routing_id = NULL; if (zsocket_type (zsock_resolve (input)) == ZMQ_ROUTER) { routing_id = zmsg_pop (msg); // If message was not valid, forget about it if (!routing_id || !zmsg_next (msg)) return NULL; // Malformed or empty } zgossip_msg_t * zgossip_msg = zgossip_msg_decode (&msg); if (zsocket_type (zsock_resolve (input)) == ZMQ_ROUTER) zgossip_msg->routing_id = routing_id; return zgossip_msg; }
Z K1(zmsgrecvnowait){PC(x); R ptr(zmsg_recv_nowait(VSK(x)));}