ViewGapParams
view/gap params: push delivery dropped events,
and this names the hole.
The bracket is deferred: it flushes at the subscription’s next
ACCEPTED delivery, never at enqueue time, so next always names an event
whose own delivery is proven. A run of consecutive undelivered events
coalesces into one bracket keeping the FIRST range’s after.
The gap rides the protected reserved queue, so no wire-interleaving order
against neighbouring deliveries is promised — the cursors carry the
semantics.
On receipt a client may take either sanctioned recovery:
splice-fill — buffer live events at cursors >= next, page (after, next) forward, discard the overlap, splice — or re-anchor through the
anchored read surface. The server requires neither, cannot distinguish
clients by their choice, and holds no partial-fill state.
Fields and variants
Section titled “Fields and variants”afternextsessionId
Source
schema/msp/experimental/msp.schema.json#/types/ViewGapParams
{ "description": "`view/gap` params: push delivery dropped events,\nand this names the hole.\n\nThe bracket is deferred: it flushes at the subscription's next\nACCEPTED delivery, never at enqueue time, so `next` always names an event\nwhose own delivery is proven. A run of consecutive undelivered events\ncoalesces into one bracket keeping the FIRST range's `after`.\nThe gap rides the protected reserved queue, so no wire-interleaving order\nagainst neighbouring deliveries is promised — the cursors carry the\nsemantics.\n\nOn receipt a client may take either sanctioned recovery:\nsplice-fill — buffer live events at cursors >= `next`, page `(after,\nnext)` forward, discard the overlap, splice — or re-anchor through the\nanchored read surface. The server requires neither, cannot distinguish\nclients by their choice, and holds no partial-fill state.", "properties": { "after": { "description": "The last cursor delivered before the hole — the exclusive lower bound\nof the undelivered range. An **opaque** view cursor: clients relay it,\nnever parse it.", "type": "string" }, "next": { "description": "The first cursor delivered after the hole — the exclusive upper bound\nof the undelivered range, and the position delivery continues from. An\n**opaque** view cursor: clients relay it, never parse it.", "type": "string" }, "sessionId": { "description": "The session whose subscription dropped events.", "type": "string" } }, "required": [ "after", "next", "sessionId" ], "type": "object"}