fix(protocol): fence gateway work recovery

This commit is contained in:
sechmachine
2026-08-13 07:43:42 +07:00
parent 8eacc4fda9
commit 6e18bc9ee6
21 changed files with 572 additions and 146 deletions
@@ -0,0 +1 @@
{"version":"1","session_id":"session-1","gateway_id":"gateway-1","reconnect_sequence":2,"operation_id":"12345678-1234-1234-1234-123456789abc","revision":7,"lease_generation":3,"outcome":"applied","current_applied_revision":6}
@@ -0,0 +1 @@
{"version":"1","session_id":"session-1","gateway_id":"gateway-1","reconnect_sequence":2,"operation_id":"12345678-1234-1234-1234-123456789ABC","revision":7,"lease_generation":3,"outcome":"unknown"}
@@ -0,0 +1 @@
{"version":"1","session_id":"session-1","gateway_id":"gateway-1","reconnect_sequence":2,"operation_id":"00000000-0000-0000-0000-000000000000","revision":7,"lease_generation":3,"outcome":"unknown"}
@@ -0,0 +1 @@
{"version":"1","session_id":"session-1","gateway_id":"gateway-1","reconnect_sequence":2,"acquisition":"poll","operation_id":"12345678-1234-1234-1234-123456789abc","revision":7}
@@ -0,0 +1 @@
{"operation_id":"12345678-1234-1234-1234-123456789abc","session_id":"session-1","revision":7,"state":"pending","requested_bitrate_preference":{"mode":"auto"},"effective_bitrate_kbps":20000,"governing_policy_version":"policy-1","session_version":2,"created_at":"2099-01-01T00:00:00.100Z","deadline_at":"2099-01-01T00:00:30Z","updated_at":"2099-01-01T00:00:00Z"}
@@ -0,0 +1 @@
{"operation_id":"12345678-1234-1234-1234-123456789abc","session_id":"session-1","revision":7,"state":"pending","requested_bitrate_preference":{"mode":"auto"},"effective_bitrate_kbps":20000,"governing_policy_version":"policy-1","session_version":2,"created_at":"2099-01-01T00:00:00+00:00","deadline_at":"2099-01-01T00:00:30Z","updated_at":"2099-01-01T00:00:00Z"}
+9 -1
View File
@@ -17,20 +17,28 @@
"fixtures/invalid/bitrate-preference-auto-target.json",
"fixtures/invalid/browser-session-native-identity.json",
"fixtures/invalid/capability-rc5-opaque.json",
"fixtures/invalid/gateway-quality-ack-contradictory.json",
"fixtures/invalid/gateway-quality-ack-uppercase-uuid.json",
"fixtures/invalid/gateway-quality-ack-zero-uuid.json",
"fixtures/invalid/gateway-quality-poll-coordinates.json",
"fixtures/invalid/manifest-provider-field.json",
"fixtures/invalid/native-session-missing-identity.json",
"fixtures/invalid/provider-stream-policy-rc5.json",
"fixtures/invalid/quality-operation-noncanonical-fraction.json",
"fixtures/invalid/quality-operation-offset-time.json",
"fixtures/invalid/selected-session-descriptor-provider-field.json",
"fixtures/invalid/session-request-policy-snapshot.json",
"fixtures/invalid/session-request-rc5.json",
"fixtures/invalid/video-profile-unknown.json",
"fixtures/valid/authenticated-browser-session.json",
"fixtures/valid/authenticated-native-session.json",
"fixtures/valid/gateway-quality-ack-applied.json",
"fixtures/valid/gateway-quality-poll.json",
"fixtures/valid/manifest.json",
"fixtures/valid/native-tunnel-credential.json",
"fixtures/valid/selected-session-descriptor.json",
"fixtures/valid/session-quality-limits.json",
"fixtures/valid/session-request.json"
],
"json_corpus_sha256": "2b111ca1c1723d6063aeafbf08c4e77972b16422ac3a84a054170039b2eff4d3"
"json_corpus_sha256": "08dea278526a523d21ea4ca6270ba1e33d44dc0d701681917d7ffc6fb13053d7"
}
@@ -0,0 +1 @@
{"version":"1","session_id":"session-1","gateway_id":"gateway-1","reconnect_sequence":2,"operation_id":"12345678-1234-1234-1234-123456789abc","revision":7,"lease_generation":3,"outcome":"applied","current_applied_revision":7}
+1
View File
@@ -0,0 +1 @@
{"version":"1","session_id":"session-1","gateway_id":"gateway-1","reconnect_sequence":2,"acquisition":"poll"}