A publisher sends a FETCH_OK as the first message on the bidi stream in response to a successful fetch. A publisher MAY send Objects in response to a FETCH before the FETCH_OK message is sent, but the FETCH_OK MUST NOT be sent until the End Location is known.
FETCH_OK Message {
Type (vi64) = 0x18,
Length (16),
End Of Track (8),
End Location (Location),
Number of Parameters (vi64),
Parameters (..) ...
Track Properties (..),
}
-
End Of Track: 1 if all Objects have been published on this Track, and the End Location is the final Object in the Track, 0 if not.
-
End Location: The end of the range covered by the FETCH response, using the same encoding as the FETCH request End Location (the last Object, plus 1; or 0 to indicate the entire Group). This is the End Location from the FETCH request unless the requested range extends beyond published data:
-
If the requested FETCH End Location was beyond the Largest known (possibly final) Object, End Location is {Largest.Group, Largest.Object + 1} Where Fetch.End Location is either Fetch.Standalone.End Location or the computed End Location described in Section 10.12.2.1.
If End Location is smaller than the Start Location in the corresponding FETCH the receiver MUST close the session with a
PROTOCOL_VIOLATION. -
-
Parameters: The parameters are defined in Section 10.2.
-
Track Properties : A sequence of Properties. See Section 2.5.