fix(protocol): fence gateway work recovery
This commit is contained in:
@@ -269,6 +269,7 @@
|
||||
},
|
||||
"SessionQualityLimits": {
|
||||
"type": "object",
|
||||
"x-max-bytes": 16384,
|
||||
"additionalProperties": false,
|
||||
"required": ["policy_version_id", "policy_display_limit", "selectable_display_maximum", "display_limit_override", "bitrate_minimum_kbps", "bitrate_target_kbps", "bitrate_maximum_kbps"],
|
||||
"properties": {
|
||||
@@ -654,6 +655,7 @@
|
||||
},
|
||||
"DisplayLimitOverrideRequest": {
|
||||
"type": "object",
|
||||
"x-max-bytes": 16384,
|
||||
"additionalProperties": false,
|
||||
"required": ["allow_display_limit_override", "expected_version"],
|
||||
"properties": {
|
||||
@@ -663,6 +665,7 @@
|
||||
},
|
||||
"QualityChangeRequest": {
|
||||
"type": "object",
|
||||
"x-max-bytes": 16384,
|
||||
"additionalProperties": false,
|
||||
"required": ["bitrate_preference", "expected_session_version", "expected_policy_version"],
|
||||
"properties": {
|
||||
@@ -673,10 +676,11 @@
|
||||
},
|
||||
"QualityChangeOperation": {
|
||||
"type": "object",
|
||||
"x-max-bytes": 16384,
|
||||
"additionalProperties": false,
|
||||
"required": ["operation_id", "session_id", "revision", "state", "requested_bitrate_preference", "effective_bitrate_kbps", "governing_policy_version", "session_version", "created_at", "deadline_at", "updated_at"],
|
||||
"properties": {
|
||||
"operation_id": {"type": "string", "format": "uuid", "minLength": 36, "maxLength": 36},
|
||||
"operation_id": {"type": "string", "format": "uuid", "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", "minLength": 36, "maxLength": 36},
|
||||
"session_id": {"type": "string", "minLength": 1, "maxLength": 128},
|
||||
"revision": {"type": "integer", "minimum": 1},
|
||||
"state": {"type": "string", "enum": ["pending", "applying", "applied", "failed", "timed_out"]},
|
||||
@@ -684,84 +688,97 @@
|
||||
"effective_bitrate_kbps": {"type": "integer", "minimum": 100, "maximum": 1000000},
|
||||
"governing_policy_version": {"type": "string", "minLength": 1, "maxLength": 128},
|
||||
"session_version": {"type": "integer", "minimum": 1},
|
||||
"created_at": {"type": "string", "format": "date-time", "maxLength": 64},
|
||||
"deadline_at": {"type": "string", "format": "date-time", "maxLength": 64},
|
||||
"updated_at": {"type": "string", "format": "date-time", "maxLength": 64},
|
||||
"created_at": {"type": "string", "format": "date-time", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{0,8}[1-9])?Z$", "maxLength": 64},
|
||||
"deadline_at": {"type": "string", "format": "date-time", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{0,8}[1-9])?Z$", "maxLength": 64},
|
||||
"updated_at": {"type": "string", "format": "date-time", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{0,8}[1-9])?Z$", "maxLength": 64},
|
||||
"failure_code": {"type": "string", "minLength": 1, "maxLength": 128}
|
||||
}
|
||||
},
|
||||
"StopOperation": {
|
||||
"type": "object",
|
||||
"x-max-bytes": 16384,
|
||||
"additionalProperties": false,
|
||||
"required": ["operation_id", "session_id", "state", "session_version", "created_at", "deadline_at", "updated_at"],
|
||||
"properties": {
|
||||
"operation_id": {"type": "string", "format": "uuid", "minLength": 36, "maxLength": 36},
|
||||
"operation_id": {"type": "string", "format": "uuid", "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", "minLength": 36, "maxLength": 36},
|
||||
"session_id": {"type": "string", "minLength": 1, "maxLength": 128},
|
||||
"state": {"type": "string", "enum": ["pending", "attempting", "applied", "failed", "termination_unconfirmed"]},
|
||||
"session_version": {"type": "integer", "minimum": 1},
|
||||
"created_at": {"type": "string", "format": "date-time", "maxLength": 64},
|
||||
"deadline_at": {"type": "string", "format": "date-time", "maxLength": 64},
|
||||
"updated_at": {"type": "string", "format": "date-time", "maxLength": 64},
|
||||
"created_at": {"type": "string", "format": "date-time", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{0,8}[1-9])?Z$", "maxLength": 64},
|
||||
"deadline_at": {"type": "string", "format": "date-time", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{0,8}[1-9])?Z$", "maxLength": 64},
|
||||
"updated_at": {"type": "string", "format": "date-time", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{0,8}[1-9])?Z$", "maxLength": 64},
|
||||
"failure_code": {"type": "string", "minLength": 1, "maxLength": 128}
|
||||
}
|
||||
},
|
||||
"GatewayQualityWorkRequest": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"required": ["version", "session_id", "gateway_id", "reconnect_sequence", "operation_id", "revision"],
|
||||
"x-max-bytes": 16384,
|
||||
"required": ["version", "session_id", "gateway_id", "reconnect_sequence", "acquisition"],
|
||||
"properties": {
|
||||
"version": {"type": "string", "const": "1"}, "session_id": {"type": "string", "minLength": 1, "maxLength": 128},
|
||||
"gateway_id": {"type": "string", "minLength": 1, "maxLength": 128}, "reconnect_sequence": {"type": "integer", "minimum": 0},
|
||||
"operation_id": {"type": "string", "format": "uuid", "minLength": 36, "maxLength": 36}, "revision": {"type": "integer", "minimum": 1},
|
||||
"acquisition": {"type": "string", "enum": ["poll", "prompt", "observation"]},
|
||||
"operation_id": {"type": "string", "format": "uuid", "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", "minLength": 36, "maxLength": 36},
|
||||
"revision": {"type": "integer", "minimum": 1, "x-optional-pointer": true},
|
||||
"lease_generation": {"type": "integer", "minimum": 1, "x-optional-pointer": true},
|
||||
"current_applied_revision": {"type": "integer", "minimum": 0, "x-optional-pointer": true}
|
||||
}
|
||||
},
|
||||
"GatewayQualityWork": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"required": ["version", "session_id", "gateway_id", "reconnect_sequence", "operation_id", "revision", "lease_expires_at", "selected_descriptor"],
|
||||
"x-max-bytes": 16384,
|
||||
"required": ["version", "session_id", "gateway_id", "reconnect_sequence", "operation_id", "revision", "lease_generation", "lease_expires_at", "selected_descriptor"],
|
||||
"properties": {
|
||||
"version": {"type": "string", "const": "1"}, "session_id": {"type": "string", "minLength": 1, "maxLength": 128},
|
||||
"gateway_id": {"type": "string", "minLength": 1, "maxLength": 128}, "reconnect_sequence": {"type": "integer", "minimum": 0},
|
||||
"operation_id": {"type": "string", "format": "uuid", "minLength": 36, "maxLength": 36}, "revision": {"type": "integer", "minimum": 1},
|
||||
"lease_expires_at": {"type": "string", "format": "date-time", "maxLength": 64}, "selected_descriptor": {"$ref": "#/$defs/SelectedSessionDescriptor"},
|
||||
"operation_id": {"type": "string", "format": "uuid", "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", "minLength": 36, "maxLength": 36}, "revision": {"type": "integer", "minimum": 1},
|
||||
"lease_generation": {"type": "integer", "minimum": 1},
|
||||
"lease_expires_at": {"type": "string", "format": "date-time", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]{0,8}[1-9])?Z$", "maxLength": 64}, "selected_descriptor": {"$ref": "#/$defs/SelectedSessionDescriptor"},
|
||||
"current_applied_revision": {"type": "integer", "minimum": 0, "x-optional-pointer": true}
|
||||
}
|
||||
},
|
||||
"GatewayQualityAck": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"required": ["version", "session_id", "gateway_id", "reconnect_sequence", "operation_id", "revision", "outcome", "current_applied_revision"],
|
||||
"x-max-bytes": 16384,
|
||||
"required": ["version", "session_id", "gateway_id", "reconnect_sequence", "operation_id", "revision", "lease_generation", "outcome"],
|
||||
"properties": {
|
||||
"version": {"type": "string", "const": "1"}, "session_id": {"type": "string", "minLength": 1, "maxLength": 128},
|
||||
"gateway_id": {"type": "string", "minLength": 1, "maxLength": 128}, "reconnect_sequence": {"type": "integer", "minimum": 0},
|
||||
"operation_id": {"type": "string", "format": "uuid", "minLength": 36, "maxLength": 36}, "revision": {"type": "integer", "minimum": 1},
|
||||
"outcome": {"type": "string", "enum": ["applied", "not_applied", "uncertain"]}, "current_applied_revision": {"type": "integer", "minimum": 0},
|
||||
"operation_id": {"type": "string", "format": "uuid", "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", "minLength": 36, "maxLength": 36}, "revision": {"type": "integer", "minimum": 1},
|
||||
"lease_generation": {"type": "integer", "minimum": 1},
|
||||
"outcome": {"type": "string", "enum": ["applied", "proven_prior", "unknown"]}, "current_applied_revision": {"type": "integer", "minimum": 0, "x-optional-pointer": true},
|
||||
"failure_code": {"type": "string", "minLength": 1, "maxLength": 128}
|
||||
}
|
||||
},
|
||||
"GatewayStopWorkRequest": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"required": ["version", "session_id", "gateway_id", "reconnect_sequence", "operation_id"],
|
||||
"x-max-bytes": 16384,
|
||||
"required": ["version", "session_id", "gateway_id", "reconnect_sequence", "acquisition"],
|
||||
"properties": {
|
||||
"version": {"type": "string", "const": "1"}, "session_id": {"type": "string", "minLength": 1, "maxLength": 128},
|
||||
"gateway_id": {"type": "string", "minLength": 1, "maxLength": 128}, "reconnect_sequence": {"type": "integer", "minimum": 0},
|
||||
"operation_id": {"type": "string", "format": "uuid", "minLength": 36, "maxLength": 36}
|
||||
"acquisition": {"type": "string", "enum": ["poll", "prompt"]},
|
||||
"operation_id": {"type": "string", "format": "uuid", "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", "minLength": 36, "maxLength": 36}
|
||||
}
|
||||
},
|
||||
"GatewayStopWork": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"x-max-bytes": 16384,
|
||||
"required": ["version", "session_id", "gateway_id", "reconnect_sequence", "operation_id", "attempt"],
|
||||
"properties": {
|
||||
"version": {"type": "string", "const": "1"}, "session_id": {"type": "string", "minLength": 1, "maxLength": 128},
|
||||
"gateway_id": {"type": "string", "minLength": 1, "maxLength": 128}, "reconnect_sequence": {"type": "integer", "minimum": 0},
|
||||
"operation_id": {"type": "string", "format": "uuid", "minLength": 36, "maxLength": 36}, "attempt": {"type": "integer", "minimum": 1, "maximum": 1}
|
||||
"operation_id": {"type": "string", "format": "uuid", "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", "minLength": 36, "maxLength": 36}, "attempt": {"type": "integer", "minimum": 1, "maximum": 1}
|
||||
}
|
||||
},
|
||||
"GatewayStopAck": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"x-max-bytes": 16384,
|
||||
"required": ["version", "session_id", "gateway_id", "reconnect_sequence", "operation_id", "outcome"],
|
||||
"properties": {
|
||||
"version": {"type": "string", "const": "1"}, "session_id": {"type": "string", "minLength": 1, "maxLength": 128},
|
||||
"gateway_id": {"type": "string", "minLength": 1, "maxLength": 128}, "reconnect_sequence": {"type": "integer", "minimum": 0},
|
||||
"operation_id": {"type": "string", "format": "uuid", "minLength": 36, "maxLength": 36}, "outcome": {"type": "string", "enum": ["applied", "failed", "termination_unconfirmed"]},
|
||||
"operation_id": {"type": "string", "format": "uuid", "pattern": "^(?!00000000-0000-0000-0000-000000000000$)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", "minLength": 36, "maxLength": 36}, "outcome": {"type": "string", "enum": ["applied", "failed", "termination_unconfirmed"]},
|
||||
"failure_code": {"type": "string", "minLength": 1, "maxLength": 128}
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user