[ https://issues.apache.org/jira/browse/DISPATCH-767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16090358#comment-16090358 ]
ASF GitHub Bot commented on DISPATCH-767: ----------------------------------------- GitHub user ganeshmurthy opened a pull request: https://github.com/apache/qpid-dispatch/pull/177 DISPATCH-767 - Added code to support multi frame message streaming 1. Added new core API function qdr_deliver_continue() that will continue delivering a large message 2. Modified qdr_link_process_deliveries() to not remove deliveries from the undelivered list until they are fully delivered 3. Modified qd_message_receive() to recieve partial messages. 4. Modified qd_message_send() to be able to handle streaming send. This function can now be called multiple times for the same message. It keeps internal pointers to the point upto which the message has been sent and is able to continue where it left off. Message content buffers are freed as soon as the message has been sent to all recipients. 5. Added peer linkage for large settled deliveries and added a settled list to handle with abrupt connection terminations when large messages are being transmitted. 6. Added unit tests to test large messages. You can merge this pull request into a Git repository by running: $ git pull https://github.com/ganeshmurthy/qpid-dispatch DISPATCH-767-3 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/qpid-dispatch/pull/177.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #177 ---- commit 54bd583053bc125a178e006611740e73bbe99a63 Author: Ganesh Murthy <gmur...@redhat.com> Date: 2017-07-05T15:51:06Z DISPATCH-767 - Added code to support multi frame message streaming 1. Added new core API function qdr_deliver_continue() that will continue delivering a large message 2. Modified qdr_link_process_deliveries() to not remove deliveries from the undelivered list until they are fully delivered 3. Modified qd_message_receive() to recieve partial messages. 4. Modified qd_message_send() to be able to handle streaming send. This function can now be called multiple times for the same message. It keeps internal pointers to the point upto which the message has been sent and is able to continue where it left off. Message content buffers are freed as soon as the message has been sent to all recipients. 5. Added peer linkage for large settled deliveries and added a settled list to handle with abrupt connection terminations when large messages are being transmitted. 6. Added unit tests to test large messages. ---- > 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