You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2018/04/19 16:15:52 UTC

[2/2] qpid-dispatch git commit: DISPATCH-971 - Duplicated the doc updates in new-book

DISPATCH-971 - Duplicated the doc updates in new-book


Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/1d9403dc
Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/1d9403dc
Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/1d9403dc

Branch: refs/heads/master
Commit: 1d9403dc9feb483644bf97f576b8c73fc7ad328f
Parents: db3e06e
Author: Ted Ross <tr...@redhat.com>
Authored: Thu Apr 19 12:15:18 2018 -0400
Committer: Ted Ross <tr...@redhat.com>
Committed: Thu Apr 19 12:15:18 2018 -0400

----------------------------------------------------------------------
 doc/new-book/theory_of_operation.adoc | 66 ++++++++++++++++++++++++++----
 1 file changed, 58 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/1d9403dc/doc/new-book/theory_of_operation.adoc
----------------------------------------------------------------------
diff --git a/doc/new-book/theory_of_operation.adoc b/doc/new-book/theory_of_operation.adoc
index f40616d..86da6dc 100644
--- a/doc/new-book/theory_of_operation.adoc
+++ b/doc/new-book/theory_of_operation.adoc
@@ -246,15 +246,65 @@ used. Address semantics include the following considerations:
 
 === Routing Patterns
 
-Routing patterns define the paths that a message with a mobile address can take across a network. These routing patterns can be used for both direct routing, in which the router distributes messages between clients without a broker, and indirect routing, in which the router enables clients to exchange messages through a broker.
+Routing patterns define the paths that a message with a mobile address
+can take across a network. These routing patterns can be used for both
+direct routing, in which the router distributes messages between
+clients without a broker, and indirect routing, in which the router
+enables clients to exchange messages through a broker.
+
+Note that the routing patterns fall into two categories:  Anycast
+(Balanced and Closest) and Multicast.  There is no concept of
+"unicast" in which there is only one consumer for an address.
+
+Anycast distribution delivers each message to one consumer whereas
+multicast distribution delivers each message to all consumers.
+
+Anycast delivery is reliable when the message deliveries are
+unsettled.  There is a reliability contract that the router network
+abides by when delivering unsettled messages to anycast addresses.
+For every such delivery sent by a producer, the router network
+guarantees that one of the following outcomes will occur:
+
+* The delivery shall be settled with ACCEPTED or REJECTED disposition
+  where the disposition is supplied by the consumer.
+* The delivery shall be settled with RELEASED disposition, meaning
+  that the message was not delivered to any consumer.
+* The delivery shall be settled with MODIFIED disposition, meaning
+  that the message may have been delivered to a consumer but should be
+  considered in-doubt and re-sent.
+* The connection to the producer shall be dropped, signifying that all
+  unsettled deliveries should now be considered in-doubt by the
+  producer and later re-sent.
+
+Multicast delivery is not reliable.  If a producer sends an unsettled
+delivery, the ingress router shall settle the delivery with ACCEPTED
+disposition regardless of whether the message was delivered to any
+consumers.
+
+===== Balanced
+
+An anycast method which allows multiple receivers to use the same
+address. In this case, messages (or links) are routed to exactly one
+of the receivers and the network attempts to balance the traffic load
+across the set of receivers using the same address. This routing
+delivers messages to receivers based on how quickly they settle the
+deliveries. Faster receivers get more messages.
+
+===== Closest
+
+An anycast method in which even if there are more receivers for the
+same address, every message is sent along the shortest path to reach
+the destination. This means that only one receiver will get the
+message. Each message is delivered to the closest receivers in terms
+of topology cost. If there are multiple receivers with the same lowest
+cost, deliveries will be spread evenly among those receivers.
+
+===== Multicast
+
+Having multiple consumers on the same address at the same time,
+messages are routed such that each consumer receives one copy of the
+message.
 
-[cols="20,80"]
-|===
-|Pattern | Description
-| Balanced  | An anycast method which allows multiple receivers to use the same address. In this case, messages (or links) are routed to exactly one of the receivers and the network attempts to balance the traffic load across the set of receivers using the same address. This routing delivers messages to receivers based on how quickly they settle the deliveries. Faster receivers get more messages.
-| Closest | An anycast method in which even if there are more receivers for the same address, every message is sent along the shortest path to reach the destination. This means that only one receiver will get the message. Each message is delivered to the closest receivers in terms of topology cost. If there are multiple receivers with the same lowest cost, deliveries will be spread evenly among those receivers.
-| Multicast | Having multiple consumers on the same address at the same time, messages are routed such that each consumer receives one copy of the message.
-|===
 
 === Routing Mechanisms
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org