You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2018/03/01 18:54:21 UTC
[2/3] qpid-proton git commit: PROTON-1754: Make AMQP frames have a
lot more nulls where they can
PROTON-1754: Make AMQP frames have a lot more nulls where they can
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/edb3aaa1
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/edb3aaa1
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/edb3aaa1
Branch: refs/heads/master
Commit: edb3aaa1587206b58842ccff843db71d4edf222d
Parents: bd6b971
Author: Andrew Stitcher <as...@apache.org>
Authored: Wed Feb 28 23:28:43 2018 -0500
Committer: Andrew Stitcher <as...@apache.org>
Committed: Thu Mar 1 11:36:35 2018 -0500
----------------------------------------------------------------------
proton-c/src/core/message.c | 10 +++++-----
proton-c/src/core/transport.c | 31 +++++++++++++++++++++----------
2 files changed, 26 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/edb3aaa1/proton-c/src/core/message.c
----------------------------------------------------------------------
diff --git a/proton-c/src/core/message.c b/proton-c/src/core/message.c
index c36b466..8f0bcf7 100644
--- a/proton-c/src/core/message.c
+++ b/proton-c/src/core/message.c
@@ -779,12 +779,12 @@ int pn_message_encode(pn_message_t *msg, char *bytes, size_t *size)
int pn_message_data(pn_message_t *msg, pn_data_t *data)
{
pn_data_clear(data);
- int err = pn_data_fill(data, "DL[o?B?IoI]", HEADER,
- msg->durable,
+ int err = pn_data_fill(data, "DL[?o?B?I?o?I]", HEADER,
+ msg->durable, msg->durable,
msg->priority!=HEADER_PRIORITY_DEFAULT, msg->priority,
- msg->ttl, msg->ttl,
- msg->first_acquirer,
- msg->delivery_count);
+ (bool)msg->ttl, msg->ttl,
+ msg->first_acquirer, msg->first_acquirer,
+ (bool)msg->delivery_count, msg->delivery_count);
if (err)
return pn_error_format(msg->error, err, "data error: %s",
pn_error_text(pn_data_error(data)));
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/edb3aaa1/proton-c/src/core/transport.c
----------------------------------------------------------------------
diff --git a/proton-c/src/core/transport.c b/proton-c/src/core/transport.c
index c49ddd4..8fc9a75 100644
--- a/proton-c/src/core/transport.c
+++ b/proton-c/src/core/transport.c
@@ -982,11 +982,17 @@ static int pni_post_amqp_transfer_frame(pn_transport_t *transport, uint16_t ch,
compute_performatives:
pn_data_clear(transport->output_args);
- int err = pn_data_fill(transport->output_args, "DL[IIzIoon?DLCooo]", TRANSFER,
- handle, id, tag->size, tag->start,
+ int err = pn_data_fill(transport->output_args, "DL[IIzI?o?on?DLC?o?o?o]", TRANSFER,
+ handle,
+ id,
+ tag->size, tag->start,
message_format,
- settled, more_flag, (bool)code, code, state,
- resume, aborted, batchable);
+ settled, settled,
+ more_flag, more_flag,
+ (bool)code, code, state,
+ resume, resume,
+ aborted, aborted,
+ batchable, batchable);
if (err) {
pn_transport_logf(transport,
"error posting transfer frame: %s: %s", pn_code(err),
@@ -2081,9 +2087,12 @@ static int pni_flush_disp(pn_transport_t *transport, pn_session_t *ssn)
uint64_t code = ssn->state.disp_code;
bool settled = ssn->state.disp_settled;
if (ssn->state.disp) {
- int err = pn_post_frame(transport, AMQP_FRAME_TYPE, ssn->state.local_channel, "DL[oIIo?DL[]]", DISPOSITION,
- ssn->state.disp_type, ssn->state.disp_first, ssn->state.disp_last,
- settled, (bool)code, code);
+ int err = pn_post_frame(transport, AMQP_FRAME_TYPE, ssn->state.local_channel, "DL[oI?I?o?DL[]]", DISPOSITION,
+ ssn->state.disp_type,
+ ssn->state.disp_first,
+ ssn->state.disp_last!=ssn->state.disp_first, ssn->state.disp_last,
+ settled, settled,
+ (bool)code, code);
if (err) return err;
ssn->state.disp_type = 0;
ssn->state.disp_code = 0;
@@ -2114,8 +2123,9 @@ static int pni_post_disp(pn_transport_t *transport, pn_delivery_t *delivery)
pn_data_clear(transport->disp_data);
PN_RETURN_IF_ERROR(pni_disposition_encode(&delivery->local, transport->disp_data));
return pn_post_frame(transport, AMQP_FRAME_TYPE, ssn->state.local_channel,
- "DL[oIIo?DLC]", DISPOSITION,
- role, state->id, state->id, delivery->local.settled,
+ "DL[oIn?o?DLC]", DISPOSITION,
+ role, state->id,
+ delivery->local.settled, delivery->local.settled,
(bool)code, code, transport->disp_data);
}
@@ -2352,7 +2362,8 @@ static int pni_process_link_teardown(pn_transport_t *transport, pn_endpoint_t *e
int err =
pn_post_frame(transport, AMQP_FRAME_TYPE, ssn_state->local_channel,
- "DL[Io?DL[sSC]]", DETACH, state->local_handle, !link->detached,
+ "DL[I?o?DL[sSC]]", DETACH, state->local_handle,
+ !link->detached, !link->detached,
(bool)name, ERROR, name, description, info);
if (err) return err;
pni_unmap_local_handle(link);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org