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