You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2014/10/27 16:25:53 UTC
svn commit: r1634573 -
/qpid/proton/branches/examples/proton-c/src/transport/transport.c
Author: gsim
Date: Mon Oct 27 15:25:52 2014
New Revision: 1634573
URL: http://svn.apache.org/r1634573
Log:
PROTON-730: allow transactional state on incoming transfer to be detected and read
Modified:
qpid/proton/branches/examples/proton-c/src/transport/transport.c
Modified: qpid/proton/branches/examples/proton-c/src/transport/transport.c
URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/src/transport/transport.c?rev=1634573&r1=1634572&r2=1634573&view=diff
==============================================================================
--- qpid/proton/branches/examples/proton-c/src/transport/transport.c (original)
+++ qpid/proton/branches/examples/proton-c/src/transport/transport.c Mon Oct 27 15:25:52 2014
@@ -762,8 +762,11 @@ int pn_do_transfer(pn_dispatcher_t *disp
pn_sequence_t id;
bool settled;
bool more;
- int err = pn_scan_args(disp, "D.[I?Iz.oo]", &handle, &id_present, &id, &tag,
- &settled, &more);
+ bool has_type;
+ uint64_t type;
+ pn_data_clear(transport->disp_data);
+ int err = pn_scan_args(disp, "D.[I?Iz.oo.D?LC]", &handle, &id_present, &id, &tag,
+ &settled, &more, &has_type, &type, transport->disp_data);
if (err) return err;
pn_session_t *ssn = pn_channel_state(transport, disp->channel);
@@ -794,6 +797,10 @@ int pn_do_transfer(pn_dispatcher_t *disp
pn_full_settle(incoming, delivery);
return err;
}
+ if (has_type) {
+ delivery->remote.type = type;
+ pn_data_copy(delivery->remote.data, transport->disp_data);
+ }
link->state.delivery_count++;
link->state.link_credit--;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org