Skip to content
Developer Preview

TurnStartResult

turn/start result.

  • commandId
  • disposition
  • queuedAtUs — Experimental
  • startedNewTurn
  • status
  • turnId
Source

schema/msp/experimental/msp.schema.json#/types/TurnStartResult

{
"description": "`turn/start` result.",
"properties": {
"commandId": {
"description": "Echoes the client's id.",
"type": "string"
},
"disposition": {
"$ref": "#/$defs/TurnStartDisposition",
"description": "What happened to the input."
},
"queuedAtUs": {
"description": "`queued` and `steered`: the queued input\nrecord's `recorded_at` in Unix microseconds — the host clock the\nclient's optimistic row must sort by, so the row lands where the\nhost's queue holds it. Present on a fresh queued or steered\nadmission via the enqueue arm (both append an inbox record);\nabsent on `started`, on hosts that predate the member, on\npost-restart recovery replays (D2 exception), on the replace and\npark arms' Queued acks, and on unopted connections (stripped per). A client that sees no member falls back to its wall\nclock (today's behavior).",
"type": "integer",
"x-msp-descriptor": "turn/start.queuedAtUs",
"x-msp-stability": "experimental"
},
"startedNewTurn": {
"description": "`true` iff `disposition` is `started`; retained as the boolean\nshorthand — `disposition` is authoritative.",
"type": "boolean"
},
"status": {
"$ref": "#/$defs/CommandStatus",
"description": "Admission status."
},
"turnId": {
"description": "The turn that will carry (or absorbed) this input. Authoritative:\nalways take it from the ack rather than deriving it.",
"type": "string"
}
},
"required": [
"commandId",
"disposition",
"startedNewTurn",
"status",
"turnId"
],
"type": "object"
}