int test_parse(const char *test, int target_count) { HandlerParser *parser = HandlerParser_create(128); bstring T1 = bfromcstr(test); int rc = HandlerParser_execute(parser, bdata(T1), blength(T1)); bdestroy(T1); return rc == 1 && target_count == (int)parser->target_count; }
int test_parse(const char *test, int target_count) { HandlerParser *parser = HandlerParser_create(128); bstring T1 = bfromcstr(test); int rc = HandlerParser_execute(parser, bdata(T1), blength(T1)); debug("BODY %d long at %s with rc: %d, uuid: %s, target_count: %d", (int)parser->body_length, parser->body_start, rc, bdata(parser->uuid), (int)parser->target_count); bdestroy(T1); return rc == 1 && target_count == parser->target_count; }
static inline int handler_recv_parse(Handler *handler, HandlerParser *parser) { log_info("handler_recv_parse"); zmq_msg_t *inmsg = NULL; check(handler->running, "Called while handler wasn't running, that's not good."); inmsg = calloc(sizeof(zmq_msg_t), 1); int rc = 0; check_mem(inmsg); rc = zmq_msg_init(inmsg); check(rc == 0, "Failed to initialize message."); taskstate("recv"); rc = mqrecv(handler->recv_socket, inmsg, 0); check(rc == 0, "Receive on handler socket failed."); check(handler->running, "Handler marked as not running."); rc = HandlerParser_execute(parser, zmq_msg_data(inmsg), zmq_msg_size(inmsg)); log_info("handler_recv_parse - HandlerParser_execute %d", rc); check(rc == 1, "Failed to parse message from handler."); check(parser->target_count > 0, "Message sent had 0 targets: %.*s", (int)zmq_msg_size(inmsg), (char *)zmq_msg_data(inmsg)); zmq_msg_close(inmsg); free(inmsg); return 0; error: if(inmsg) { zmq_msg_close(inmsg); free(inmsg); } return -1; }
static inline int handler_recv_parse(Handler *handler, HandlerParser *parser) { check(handler->running, "Called while handler wasn't running, that's not good."); zmq_msg_t *inmsg = calloc(sizeof(zmq_msg_t), 1); int rc = 0; check_mem(inmsg); rc = zmq_msg_init(inmsg); check(rc == 0, "Failed to initialize message."); taskstate("recv"); rc = mqrecv(handler->recv_socket, inmsg, ZMQ_NOBLOCK); check(rc == 0, "Receive on handler socket failed."); check(handler->running, "Received shutdown notification, goodbye."); rc = HandlerParser_execute(parser, zmq_msg_data(inmsg), zmq_msg_size(inmsg)); check(rc == 1, "Failed to parse message from handler."); check(parser->target_count > 0, "Message sent had 0 targets: %.*s", (int)zmq_msg_size(inmsg), (char *)zmq_msg_data(inmsg)); debug("Parsed message with %d targets, first: %d, uuid: %s, and body: %d", (int)parser->target_count, parser->targets[0], bdata(parser->uuid), blength(parser->body)); zmq_msg_close(inmsg); free(inmsg); return 0; error: if(inmsg) { zmq_msg_close(inmsg); free(inmsg); } return -1; }