[ https://issues.apache.org/jira/browse/DISPATCH-767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16078260#comment-16078260 ]
ASF GitHub Bot commented on DISPATCH-767: ----------------------------------------- Github user alanconway commented on a diff in the pull request: https://github.com/apache/qpid-dispatch/pull/172#discussion_r126160704 --- Diff: src/message.c --- @@ -975,11 +990,94 @@ void qd_message_set_ingress_annotation(qd_message_t *in_msg, qd_composed_field_t qd_compose_free(ingress_field); } +bool qd_message_is_discard(qd_message_t *msg) +{ + if (!msg) + return false; + qd_message_pvt_t *pvt_msg = (qd_message_pvt_t*) msg; + return pvt_msg->content->discard; +} + +void qd_message_set_discard(qd_message_t *msg, bool discard) +{ + if (!msg) + return; + + qd_message_pvt_t *pvt_msg = (qd_message_pvt_t*) msg; + pvt_msg->content->discard = discard; +} + +size_t qd_message_fanout(qd_message_t *in_msg) +{ + if (!in_msg) + return 0; + qd_message_pvt_t *msg = (qd_message_pvt_t*) in_msg; + return msg->content->fanout; +} + +void qd_message_add_fanout(qd_message_t *in_msg) +{ + assert(in_msg); + qd_message_pvt_t *msg = (qd_message_pvt_t*) in_msg; + msg->content->fanout++; +} + +bool qd_message_receive_complete(qd_message_t *in_msg) +{ + if (!in_msg) + return false; + qd_message_pvt_t *msg = (qd_message_pvt_t*) in_msg; + return msg->content->receive_complete; +} + +bool qd_message_send_complete(qd_message_t *in_msg) +{ + if (!in_msg) + return false; + + qd_message_pvt_t *msg = (qd_message_pvt_t*) in_msg; + return msg->send_complete; +} + +bool qd_message_tag_sent(qd_message_t *in_msg) +{ + if (!in_msg) + return false; + + qd_message_pvt_t *msg = (qd_message_pvt_t*) in_msg; + return msg->tag_sent; +} + +void qd_message_set_tag_sent(qd_message_t *in_msg, bool tag_sent) +{ + if (!in_msg) + return; + + qd_message_pvt_t *msg = (qd_message_pvt_t*) in_msg; + msg->tag_sent = tag_sent; +} + +qd_buffer_t *qd_message_cursor_buffer(qd_message_pvt_t *in_msg) +{ + return in_msg->cursor.buffer; +} + +int qd_message_cursor_offset(qd_message_pvt_t *in_msg) +{ + return in_msg->cursor.offset; +} + --- End diff -- Delete qd_message_cursor_buffer|offset - you don't need them with qd_message_cursor() > Message Cut-Through/Streaming for efficient handling of large messages > ---------------------------------------------------------------------- > > Key: DISPATCH-767 > URL: https://issues.apache.org/jira/browse/DISPATCH-767 > Project: Qpid Dispatch > Issue Type: Improvement > Components: Router Node > Reporter: Ted Ross > Assignee: Ganesh Murthy > Fix For: 1.0.0 > > > When large, multi-frame messages are sent through the router, there is no > need to wait for the entire message to arrive before starting to send it > onward. > This feature causes the router to route the first frame and allow subsequent > frames in a delivery to be streamed out in pipeline fashion. Ideally, the > memory usage in the router should only involve pending frames. This would > allow the router to handle arbitrary numbers of concurrent arbitrarily large > messages. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org