[
https://issues.apache.org/jira/browse/DISPATCH-788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16054485#comment-16054485
]
ASF GitHub Bot commented on DISPATCH-788:
-----------------------------------------
Github user ganeshmurthy commented on a diff in the pull request:
https://github.com/apache/qpid-dispatch/pull/167#discussion_r122779756
--- Diff: src/router_core/forwarder.c ---
@@ -101,33 +101,26 @@ static void
qdr_forward_find_closest_remotes_CT(qdr_core_t *core, qdr_address_t
qdr_delivery_t *qdr_forward_new_delivery_CT(qdr_core_t *core,
qdr_delivery_t *in_dlv, qdr_link_t *link, qd_message_t *msg)
{
- qdr_delivery_t *dlv = new_qdr_delivery_t();
- uint64_t *tag = (uint64_t*) dlv->tag;
-
- ZERO(dlv);
- sys_atomic_init(&dlv->ref_count, 0);
- dlv->link = link;
- dlv->msg = qd_message_copy(msg);
- dlv->settled = !in_dlv || in_dlv->settled;
- dlv->presettled = dlv->settled;
+ qdr_delivery_t *out_dlv = new_qdr_delivery_t();
+ uint64_t *tag = (uint64_t*) out_dlv->tag;
+
+ ZERO(out_dlv);
+ sys_atomic_init(&out_dlv->ref_count, 0);
+ out_dlv->link = link;
+ out_dlv->msg = qd_message_copy(msg);
+ out_dlv->settled = !in_dlv || in_dlv->settled;
+ out_dlv->presettled = out_dlv->settled;
*tag = core->next_tag++;
- dlv->tag_length = 8;
- dlv->error = 0;
+ out_dlv->tag_length = 8;
+ out_dlv->error = 0;
//
- // Create peer linkage only if the delivery is not settled
+ // Create peer linkage only if the outgoing delivery is not settled
//
- if (!dlv->settled) {
- if (in_dlv && in_dlv->peer == 0) {
--- End diff --
I moved this check (in_dlv->peer == 0) into the qdr_delivery_link_peers_CT,
so we are good there.
> Create peer linkage for presettled deliveries so we can use this to handle
> muticast dispositions
> ------------------------------------------------------------------------------------------------
>
> Key: DISPATCH-788
> URL: https://issues.apache.org/jira/browse/DISPATCH-788
> Project: Qpid Dispatch
> Issue Type: Improvement
> Components: Container
> Affects Versions: 0.8.0
> Reporter: Ganesh Murthy
> Assignee: Ganesh Murthy
> Fix For: 1.0.0
>
>
> Right now peer delivieries are not created for presettled messages. Create
> peers for presettled messages so that this feature can be used to implement
> several features like message streaming, handling multicast dispositions etc.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]