You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Lorenz Quack (JIRA)" <ji...@apache.org> on 2017/06/06 15:55:18 UTC

[jira] [Comment Edited] (QPID-7813) [Java Broker] In AMQP 1.0 session credit should be checked for every Transfer in a multi transfer delivery

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

Lorenz Quack edited comment on QPID-7813 at 6/6/17 3:54 PM:
------------------------------------------------------------

From a IRC conversation with Rob:
{noformat}
<rgodfrey> [...] we need to have a way of leaving the session in a state where there is an incomplete multiple frame transfer in progress
<rgodfrey> which will only complete when more session credit arrives
[...]
<rgodfrey> [this means] that we need to implement the consumer state thing above
<rgodfrey> since it will have to interleave sending parts of the message and then receiving flows
[...]
<rgodfrey> In general terms I think that a consumer can do work if there is available link and session credit and there is either a message on the queue it is associated with *or* there is an existing partial transfer (which has not been remotely settled)
<rgodfrey> When doing work, if there is an existing partial transfer, the unit of work could be simply to send one more frame of that transfer
<lorenz> I agree
<rgodfrey> you could possibly simply modify sendNextMessage() in some way and then add some special code into the 1_0 consumer target
{noformat}


was (Author: lorenz.quack):
From a IRC conversation with Rob:
{noformat}
<rgodfrey> In general terms I think that a consumer can do work if there is available link and session credit and there is either a message on the queue it is associated with *or* there is an existing partial transfer (which has not been remotely settled)
<rgodfrey> When doing work, if there is an existing partial transfer, the unit of work could be simply to send one more frame of that transfer
<lorenz> I agree
<rgodfrey> you could possibly simply modify sendNextMessage() in some way and then add some special code into the 1_0 consumer target
{noformat}

> [Java Broker] In AMQP 1.0 session credit should be checked for every Transfer in a multi transfer delivery
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-7813
>                 URL: https://issues.apache.org/jira/browse/QPID-7813
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>            Reporter: Lorenz Quack
>
> In AMQP 1.0 session credit is in terms of transfers.
> We currently only check the session credit when deciding to send a message or not.
> Instead we should check the session credit upon every Transfer.
> This means that we need to be able to send partial messages (in case the session credit is insufficient) and later resume the delivery when more session credit becomes available.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org