@@ -1342,14 +1342,14 @@ the subscription starts with the first published or received group.
13421342
13431343AbsoluteStart (0x3) : Specifies an open-ended subscription beginning
13441344from the object identified in the StartGroup and StartObject fields. If the
1345- StartGroup is prior to the current group, the publisher MUST reply with a
1346- SUBSCRIBE_ERROR with code 'Invalid Range' .
1345+ StartGroup is prior to the current group, the subscription starts at the
1346+ beginning of the current object like the 'Latest Object' filter .
13471347
13481348AbsoluteRange (0x4) : Specifies a closed subscription starting at StartObject
13491349in StartGroup and ending at EndObject in EndGroup. The start and end of the
13501350range are inclusive. EndGroup MUST specify the same or a later group than
1351- StartGroup. If the StartGroup is prior to the current group, the publisher MUST
1352- reply with a SUBSCRIBE_ERROR with code 'Invalid Range' .
1351+ StartGroup. If the StartGroup is prior to the current group, the subscription
1352+ starts at the beginning of the current object like the 'Latest Object' filter .
13531353
13541354A filter type other than the above MUST be treated as error.
13551355
@@ -1433,16 +1433,22 @@ A publisher MUST NOT send objects from outside the requested start and end.
14331433# # SUBSCRIBE_UPDATE {#message-subscribe-update-req}
14341434
14351435A subscriber issues a SUBSCRIBE_UPDATE to a publisher to request a change to
1436- a prior subscription. Subscriptions can only become more narrower, not wider,
1437- because an attempt to widen a subscription could fail. If Objects before the
1438- start or after the end of the current subscription are needed, a separate
1439- subscription can be made. The start Object MUST NOT decrease and when it increases,
1440- there is no guarantee that a publisher will not have already sent Objects before
1441- the new start Object. The end Object MUST NOT increase and when it decreases,
1442- there is no guarantee that a publisher will not have already sent Objects after
1443- the new end Object. A publisher SHOULD close the Session as a 'Protocol Violation'
1444- if the SUBSCRIBE_UPDATE violates either rule or if the subscriber specifies a
1445- Subscribe ID that does not exist within the Session.
1436+ an existing subscription. Subscriptions can only become more narrow, not wider,
1437+ because an attempt to widen a subscription could fail. If Objects before the
1438+ start or after the end of the current subscription are needed, a fetch might
1439+ be able to retrieve objects before the start. The start Object MUST NOT
1440+ decrease and when it increases, there is no guarantee that a publisher will
1441+ not have already sent Objects before the new start Object. The end Group
1442+ MUST NOT increase and when it decreases, there is no guarantee that a publisher
1443+ will not have already sent Objects after the new end Object. A publisher SHOULD
1444+ close the Session as a 'Protocol Violation' if the SUBSCRIBE_UPDATE violates
1445+ either rule or if the subscriber specifies a Subscribe ID that has not existed
1446+ within the Session.
1447+
1448+ There is no control message in response to a SUBSCRIBE_UPDATE, because it is
1449+ expected that it will always succeed and the worst outcome is that it is not
1450+ processed promptly and some extra objects from the existing subscription are
1451+ delivered.
14461452
14471453Unlike a new subscription, SUBSCRIBE_UPDATE can not cause an Object to be
14481454delivered multiple times. Like SUBSCRIBE, EndGroup MUST specify the
0 commit comments