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

ASF subversion and git services commented on PROTON-2979:
---------------------------------------------------------

Commit c58a802706858da15f742086ecdda776d14eef5d in qpid-proton's branch 
refs/heads/main from Andrew Stitcher
[ https://gitbox.apache.org/repos/asf?p=qpid-proton.git;h=c58a80270 ]

PROTON-2979: Omit delivery-id, tag and message-format on continuation transfers

These three fields are carried on the first transfer of a delivery and may be
omitted on the continuation transfers that follow. We already accept peers that
omit them, but always sent them on every frame of a multi-frame delivery.

pni_post_amqp_transfer_frame now takes a continuation flag and passes it as the
presence bool for the three fields. The frame loop sends as many frames as it
can from one encoded performative, so the flag has to be maintained as it goes:
a transfer is a continuation exactly when the preceding one set 'more', so it
follows more_flag and marks the performative stale when that changes.

Continuation frames carry a little more payload as a side effect, their
performative being shorter by the length of the delivery-tag.

Assisted-By: Claude Opus 5 <[email protected]>


> Omit optional fields on continuation transfers.
> -----------------------------------------------
>
>                 Key: PROTON-2979
>                 URL: https://issues.apache.org/jira/browse/PROTON-2979
>             Project: Qpid Proton
>          Issue Type: Improvement
>          Components: proton-c
>            Reporter: Andrew Stitcher
>            Assignee: Andrew Stitcher
>            Priority: Major
>             Fix For: proton-c-0.41.0
>
>
> We can save a bit of space for transfers by not encoding the redundant fields 
> in continuation transfers.
> Delivery id, delivery tag and message format are required on the first 
> transfer of a delivery but they are optional on continuation transfers. By 
> omitting them we save a bit of space for the payload and we avoid the need to 
> check these fields and the possibility that they don't match.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to