[ 
https://issues.apache.org/jira/browse/DISPATCH-767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16105600#comment-16105600
 ] 

ASF GitHub Bot commented on DISPATCH-767:
-----------------------------------------

GitHub user ganeshmurthy opened a pull request:

    https://github.com/apache/qpid-dispatch/pull/182

    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-SQUASH

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/qpid-dispatch/pull/182.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 #182
    
----
commit e387a6be363c7fed1cbaa8dac36f4bd7122adc95
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

Reply via email to