From d6f49547b50201062b1913e4e44206344dc38fab Mon Sep 17 00:00:00 2001 From: SirCipher Date: Thu, 10 Sep 2020 14:50:28 +0100 Subject: [PATCH] Adds client complete permessage-deflate implementation --- autobahn/client-results.json | 786 +++++++++++++++++------------------ src/extensions/deflate.rs | 159 ++++--- 2 files changed, 471 insertions(+), 474 deletions(-) diff --git a/autobahn/client-results.json b/autobahn/client-results.json index 6d7a78f..cccdd64 100644 --- a/autobahn/client-results.json +++ b/autobahn/client-results.json @@ -17,14 +17,14 @@ "1.1.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_1_1_3.json" }, "1.1.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 3, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_1_1_4.json" }, @@ -52,7 +52,7 @@ "1.1.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 6, + "duration": 4, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_1_1_8.json" }, @@ -66,7 +66,7 @@ "1.2.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_1_2_2.json" }, @@ -94,21 +94,21 @@ "1.2.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 31, + "duration": 17, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_1_2_6.json" }, "1.2.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 26, + "duration": 17, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_1_2_7.json" }, "1.2.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 36, + "duration": 18, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_1_2_8.json" }, @@ -122,1582 +122,1582 @@ "12.1.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 507, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_1.json" }, "12.1.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2919, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_10.json" }, "12.1.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 697, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_11.json" }, "12.1.12": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 840, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_12.json" }, "12.1.13": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1147, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_13.json" }, "12.1.14": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1763, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_14.json" }, "12.1.15": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 3019, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_15.json" }, "12.1.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2919, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_16.json" }, "12.1.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2905, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_17.json" }, "12.1.18": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2856, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_18.json" }, "12.1.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 517, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_2.json" }, "12.1.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 521, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_3.json" }, "12.1.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 541, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_4.json" }, "12.1.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 615, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_5.json" }, "12.1.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 753, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_6.json" }, "12.1.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1070, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_7.json" }, "12.1.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1251, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_8.json" }, "12.1.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1715, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_1_9.json" }, "12.2.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 80, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_1.json" }, "12.2.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 6047, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_10.json" }, "12.2.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 708, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_11.json" }, "12.2.12": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1224, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_12.json" }, "12.2.13": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2278, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_13.json" }, "12.2.14": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 4457, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_14.json" }, "12.2.15": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 8522, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_15.json" }, "12.2.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 6699, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_16.json" }, "12.2.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 6321, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_17.json" }, "12.2.18": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 6184, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_18.json" }, "12.2.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 94, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_2.json" }, "12.2.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 120, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_3.json" }, "12.2.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 185, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_4.json" }, "12.2.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 352, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_5.json" }, "12.2.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 537, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_6.json" }, "12.2.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 920, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_7.json" }, "12.2.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1653, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_8.json" }, "12.2.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 3238, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_2_9.json" }, "12.3.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 82, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_1.json" }, "12.3.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 8368, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_10.json" }, "12.3.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 760, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_11.json" }, "12.3.12": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1399, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_12.json" }, "12.3.13": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2562, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_13.json" }, "12.3.14": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 5093, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_14.json" }, "12.3.15": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 9940, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_15.json" }, "12.3.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 8570, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_16.json" }, "12.3.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 8363, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_17.json" }, "12.3.18": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 8281, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_18.json" }, "12.3.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 90, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_2.json" }, "12.3.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 115, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_3.json" }, "12.3.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 188, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_4.json" }, "12.3.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 423, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_5.json" }, "12.3.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 684, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_6.json" }, "12.3.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1218, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_7.json" }, "12.3.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2216, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_8.json" }, "12.3.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 4302, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_3_9.json" }, "12.4.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 650, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_1.json" }, "12.4.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 3178, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_10.json" }, "12.4.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 843, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_11.json" }, "12.4.12": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1010, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_12.json" }, "12.4.13": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1343, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_13.json" }, "12.4.14": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2023, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_14.json" }, "12.4.15": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 3377, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_15.json" }, "12.4.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 3256, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_16.json" }, "12.4.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 3217, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_17.json" }, "12.4.18": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 3242, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_18.json" }, "12.4.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 648, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_2.json" }, "12.4.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 647, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_3.json" }, "12.4.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 679, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_4.json" }, "12.4.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 757, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_5.json" }, "12.4.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 833, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_6.json" }, "12.4.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 989, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_7.json" }, "12.4.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1300, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_8.json" }, "12.4.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1932, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_4_9.json" }, "12.5.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 84, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_1.json" }, "12.5.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 4412, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_10.json" }, "12.5.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 590, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_11.json" }, "12.5.12": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 968, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_12.json" }, "12.5.13": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1799, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_13.json" }, "12.5.14": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 3433, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_14.json" }, "12.5.15": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 6574, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_15.json" }, "12.5.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 5006, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_16.json" }, "12.5.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 4575, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_17.json" }, "12.5.18": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 4402, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_18.json" }, "12.5.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 91, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_2.json" }, "12.5.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 118, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_3.json" }, "12.5.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 164, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_4.json" }, "12.5.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 283, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_5.json" }, "12.5.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 432, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_6.json" }, "12.5.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 675, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_7.json" }, "12.5.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1223, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_8.json" }, "12.5.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2289, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_12_5_9.json" }, "13.1.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 508, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_1.json" }, "13.1.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2855, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_10.json" }, "13.1.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 683, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_11.json" }, "13.1.12": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 838, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_12.json" }, "13.1.13": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1173, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_13.json" }, "13.1.14": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1776, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_14.json" }, "13.1.15": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 3034, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_15.json" }, "13.1.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2907, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_16.json" }, "13.1.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2909, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_17.json" }, "13.1.18": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2845, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_18.json" }, "13.1.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 506, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_2.json" }, "13.1.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 520, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_3.json" }, "13.1.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 524, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_4.json" }, "13.1.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 602, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_5.json" }, "13.1.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 680, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_6.json" }, "13.1.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 825, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_7.json" }, "13.1.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1112, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_8.json" }, "13.1.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1701, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_1_9.json" }, "13.2.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 508, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_1.json" }, "13.2.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2873, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_10.json" }, "13.2.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 686, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_11.json" }, "13.2.12": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 841, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_12.json" }, "13.2.13": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1151, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_13.json" }, "13.2.14": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1780, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_14.json" }, "13.2.15": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 3009, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_15.json" }, "13.2.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 4, + "duration": 2896, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_16.json" }, "13.2.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2873, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_17.json" }, "13.2.18": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2906, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_18.json" }, "13.2.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 513, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_2.json" }, "13.2.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 530, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_3.json" }, "13.2.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 545, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_4.json" }, "13.2.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 602, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_5.json" }, "13.2.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 679, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_6.json" }, "13.2.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 822, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_7.json" }, "13.2.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1123, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_8.json" }, "13.2.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1716, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_2_9.json" }, "13.3.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 515, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_1.json" }, "13.3.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2849, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_10.json" }, "13.3.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 684, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_11.json" }, "13.3.12": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 843, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_12.json" }, "13.3.13": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1151, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_13.json" }, "13.3.14": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1776, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_14.json" }, "13.3.15": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2996, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_15.json" }, "13.3.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2906, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_16.json" }, "13.3.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2865, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_17.json" }, "13.3.18": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2891, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_18.json" }, "13.3.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 518, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_2.json" }, "13.3.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 522, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_3.json" }, "13.3.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 543, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_4.json" }, "13.3.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 605, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_5.json" }, "13.3.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 683, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_6.json" }, "13.3.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 824, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_7.json" }, "13.3.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1129, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_8.json" }, "13.3.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1716, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_3_9.json" }, "13.4.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 505, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_1.json" }, "13.4.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2864, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_10.json" }, "13.4.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 680, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_11.json" }, "13.4.12": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 827, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_12.json" }, "13.4.13": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1149, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_13.json" }, "13.4.14": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1776, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_14.json" }, "13.4.15": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 3011, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_15.json" }, "13.4.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2903, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_16.json" }, "13.4.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2878, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_17.json" }, "13.4.18": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2910, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_18.json" }, "13.4.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 504, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_2.json" }, "13.4.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 524, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_3.json" }, "13.4.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 537, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_4.json" }, "13.4.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 605, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_5.json" }, "13.4.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 681, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_6.json" }, "13.4.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 833, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_7.json" }, "13.4.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1118, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_8.json" }, "13.4.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1699, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_4_9.json" }, "13.5.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 520, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_1.json" }, "13.5.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2878, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_10.json" }, "13.5.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 695, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_11.json" }, "13.5.12": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 847, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_12.json" }, "13.5.13": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1162, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_13.json" }, "13.5.14": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1773, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_14.json" }, "13.5.15": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 3025, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_15.json" }, "13.5.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 2937, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_16.json" }, "13.5.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2897, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_17.json" }, "13.5.18": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2873, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_18.json" }, "13.5.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 654, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_2.json" }, "13.5.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 676, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_3.json" }, "13.5.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 706, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_4.json" }, "13.5.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 798, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_5.json" }, "13.5.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 812, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_6.json" }, "13.5.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 832, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_7.json" }, "13.5.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1115, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_8.json" }, "13.5.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1706, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_5_9.json" }, "13.6.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 503, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_1.json" }, "13.6.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2848, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_10.json" }, "13.6.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 686, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_11.json" }, "13.6.12": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 853, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_12.json" }, "13.6.13": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1151, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_13.json" }, "13.6.14": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1773, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_14.json" }, "13.6.15": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 3057, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_15.json" }, "13.6.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2949, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_16.json" }, "13.6.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2879, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_17.json" }, "13.6.18": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2868, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_18.json" }, "13.6.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 507, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_2.json" }, "13.6.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 519, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_3.json" }, "13.6.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 537, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_4.json" }, "13.6.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 600, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_5.json" }, "13.6.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 673, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_6.json" }, "13.6.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 836, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_7.json" }, "13.6.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1115, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_8.json" }, "13.6.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1694, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_6_9.json" }, "13.7.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 507, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_1.json" }, "13.7.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2890, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_10.json" }, "13.7.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 687, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_11.json" }, "13.7.12": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 839, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_12.json" }, "13.7.13": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1144, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_13.json" }, "13.7.14": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1768, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_14.json" }, "13.7.15": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 3048, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_15.json" }, "13.7.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2902, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_16.json" }, "13.7.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2857, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_17.json" }, "13.7.18": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2841, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_18.json" }, "13.7.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 508, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_2.json" }, "13.7.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 517, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_3.json" }, "13.7.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 537, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_4.json" }, "13.7.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 604, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_5.json" }, "13.7.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 680, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_6.json" }, "13.7.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 824, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_7.json" }, "13.7.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1116, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_8.json" }, "13.7.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 1712, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_13_7_9.json" }, "2.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_2_1.json" }, "2.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_2_10.json" }, "2.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 10, + "duration": 6, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_2_11.json" }, "2.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 3, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_2_2.json" }, "2.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 3, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_2_3.json" }, "2.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 3, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_2_4.json" }, "2.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_2_5.json" }, "2.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 9, + "duration": 5, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_2_6.json" }, "2.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_2_7.json" }, "2.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_2_8.json" }, @@ -1718,42 +1718,42 @@ "3.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_3_2.json" }, "3.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_3_3.json" }, "3.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 5, + "duration": 1, "remoteCloseCode": null, "reportfile": "tungstenite_case_3_4.json" }, "3.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_3_5.json" }, "3.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_3_6.json" }, "3.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_3_7.json" }, @@ -1767,28 +1767,28 @@ "4.1.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1, "remoteCloseCode": null, "reportfile": "tungstenite_case_4_1_2.json" }, "4.1.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_4_1_3.json" }, "4.1.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_4_1_4.json" }, "4.1.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": null, "reportfile": "tungstenite_case_4_1_5.json" }, @@ -1809,42 +1809,42 @@ "4.2.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_4_2_3.json" }, "4.2.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_4_2_4.json" }, "4.2.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": null, "reportfile": "tungstenite_case_4_2_5.json" }, "5.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1, "remoteCloseCode": null, "reportfile": "tungstenite_case_5_1.json" }, "5.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_5_10.json" }, "5.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": null, "reportfile": "tungstenite_case_5_11.json" }, @@ -1865,7 +1865,7 @@ "5.14": { "behavior": "OK", "behaviorClose": "OK", - "duration": 3, + "duration": 2, "remoteCloseCode": null, "reportfile": "tungstenite_case_5_14.json" }, @@ -1879,14 +1879,14 @@ "5.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 2, "remoteCloseCode": null, "reportfile": "tungstenite_case_5_16.json" }, "5.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 0, + "duration": 1, "remoteCloseCode": null, "reportfile": "tungstenite_case_5_17.json" }, @@ -1900,7 +1900,7 @@ "5.19": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1004, + "duration": 1003, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_5_19.json" }, @@ -1914,7 +1914,7 @@ "5.20": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1005, + "duration": 1004, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_5_20.json" }, @@ -1935,14 +1935,14 @@ "5.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_5_5.json" }, "5.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_5_6.json" }, @@ -1956,21 +1956,21 @@ "5.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 17, + "duration": 2, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_5_8.json" }, "5.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_5_9.json" }, "6.1.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 3, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_1_1.json" }, @@ -1984,7 +1984,7 @@ "6.1.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 3, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_1_3.json" }, @@ -2075,7 +2075,7 @@ "6.12.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_12_5.json" }, @@ -2145,7 +2145,7 @@ "6.14.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_14_10.json" }, @@ -2201,63 +2201,63 @@ "6.14.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_14_9.json" }, "6.15.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_15_1.json" }, "6.16.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_16_1.json" }, "6.16.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_16_2.json" }, "6.16.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_16_3.json" }, "6.17.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_17_1.json" }, "6.17.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_17_2.json" }, "6.17.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_17_3.json" }, "6.17.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_17_4.json" }, @@ -2271,21 +2271,21 @@ "6.18.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_18_1.json" }, "6.18.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_18_2.json" }, "6.18.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_18_3.json" }, @@ -2348,7 +2348,7 @@ "6.2.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 3, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_2_2.json" }, @@ -2362,7 +2362,7 @@ "6.2.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 7, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_2_4.json" }, @@ -2488,7 +2488,7 @@ "6.22.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_11.json" }, @@ -2523,14 +2523,14 @@ "6.22.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 3, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_16.json" }, "6.22.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_17.json" }, @@ -2551,70 +2551,70 @@ "6.22.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_2.json" }, "6.22.20": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_20.json" }, "6.22.21": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_21.json" }, "6.22.22": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_22.json" }, "6.22.23": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_23.json" }, "6.22.24": { "behavior": "OK", "behaviorClose": "OK", - "duration": 3, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_24.json" }, "6.22.25": { "behavior": "OK", "behaviorClose": "OK", - "duration": 3, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_25.json" }, "6.22.26": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_26.json" }, "6.22.27": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_27.json" }, "6.22.28": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_28.json" }, @@ -2628,7 +2628,7 @@ "6.22.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 3, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_3.json" }, @@ -2642,7 +2642,7 @@ "6.22.31": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_31.json" }, @@ -2670,14 +2670,14 @@ "6.22.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 4, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_4.json" }, "6.22.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_5.json" }, @@ -2691,35 +2691,35 @@ "6.22.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_7.json" }, "6.22.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_8.json" }, "6.22.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_22_9.json" }, "6.23.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_23_1.json" }, "6.23.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_23_2.json" }, @@ -2740,21 +2740,21 @@ "6.23.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_23_5.json" }, "6.23.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_23_6.json" }, "6.23.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_23_7.json" }, @@ -2768,21 +2768,21 @@ "6.3.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_3_2.json" }, "6.4.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1001, + "duration": 1002, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_4_1.json" }, "6.4.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1002, + "duration": 1001, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_4_2.json" }, @@ -2803,7 +2803,7 @@ "6.5.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 3, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_5_1.json" }, @@ -2817,140 +2817,140 @@ "6.5.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_5_3.json" }, "6.5.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_5_4.json" }, "6.5.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_5_5.json" }, "6.6.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_6_1.json" }, "6.6.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_6_10.json" }, "6.6.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 5, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_6_11.json" }, "6.6.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_6_2.json" }, "6.6.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_6_3.json" }, "6.6.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_6_4.json" }, "6.6.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_6_5.json" }, "6.6.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_6_6.json" }, "6.6.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_6_7.json" }, "6.6.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_6_8.json" }, "6.6.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_6_9.json" }, "6.7.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_7_1.json" }, "6.7.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_7_2.json" }, "6.7.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_7_3.json" }, "6.7.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_7_4.json" }, "6.8.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_8_1.json" }, "6.8.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": null, "reportfile": "tungstenite_case_6_8_2.json" }, @@ -2971,7 +2971,7 @@ "6.9.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_6_9_3.json" }, @@ -2992,14 +2992,14 @@ "7.1.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_7_1_2.json" }, "7.1.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_7_1_3.json" }, @@ -3020,7 +3020,7 @@ "7.1.6": { "behavior": "INFORMATIONAL", "behaviorClose": "INFORMATIONAL", - "duration": 16, + "duration": 7, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_7_1_6.json" }, @@ -3034,14 +3034,14 @@ "7.13.2": { "behavior": "INFORMATIONAL", "behaviorClose": "INFORMATIONAL", - "duration": 2, + "duration": 0, "remoteCloseCode": 1002, "reportfile": "tungstenite_case_7_13_2.json" }, "7.3.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 3, "remoteCloseCode": null, "reportfile": "tungstenite_case_7_3_1.json" }, @@ -3069,7 +3069,7 @@ "7.3.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_7_3_5.json" }, @@ -3090,7 +3090,7 @@ "7.7.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_7_7_1.json" }, @@ -3125,7 +3125,7 @@ "7.7.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_7_7_2.json" }, @@ -3139,7 +3139,7 @@ "7.7.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_7_7_4.json" }, @@ -3188,21 +3188,21 @@ "7.9.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1002, "reportfile": "tungstenite_case_7_9_2.json" }, "7.9.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1002, "reportfile": "tungstenite_case_7_9_3.json" }, "7.9.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1002, "reportfile": "tungstenite_case_7_9_4.json" }, @@ -3230,7 +3230,7 @@ "7.9.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 0, "remoteCloseCode": 1002, "reportfile": "tungstenite_case_7_9_8.json" }, @@ -3244,378 +3244,378 @@ "9.1.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 5, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_1_1.json" }, "9.1.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 6, + "duration": 4, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_1_2.json" }, "9.1.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 22, + "duration": 16, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_1_3.json" }, "9.1.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 110, + "duration": 64, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_1_4.json" }, "9.1.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 205, + "duration": 126, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_1_5.json" }, "9.1.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 320, + "duration": 244, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_1_6.json" }, "9.2.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_2_1.json" }, "9.2.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 6, + "duration": 4, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_2_2.json" }, "9.2.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 16, + "duration": 14, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_2_3.json" }, "9.2.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 123, + "duration": 57, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_2_4.json" }, "9.2.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 169, + "duration": 114, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_2_5.json" }, "9.2.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 360, + "duration": 253, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_2_6.json" }, "9.3.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 638, + "duration": 394, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_3_1.json" }, "9.3.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 209, + "duration": 129, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_3_2.json" }, "9.3.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 93, + "duration": 58, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_3_3.json" }, "9.3.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 64, + "duration": 40, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_3_4.json" }, "9.3.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 43, + "duration": 34, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_3_5.json" }, "9.3.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 50, + "duration": 34, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_3_6.json" }, "9.3.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 45, + "duration": 33, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_3_7.json" }, "9.3.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 51, + "duration": 34, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_3_8.json" }, "9.3.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 57, + "duration": 36, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_3_9.json" }, "9.4.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 608, + "duration": 364, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_4_1.json" }, "9.4.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 192, + "duration": 111, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_4_2.json" }, "9.4.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 75, + "duration": 41, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_4_3.json" }, "9.4.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 44, + "duration": 23, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_4_4.json" }, "9.4.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 29, + "duration": 19, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_4_5.json" }, "9.4.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 39, + "duration": 18, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_4_6.json" }, "9.4.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 35, + "duration": 18, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_4_7.json" }, "9.4.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 24, + "duration": 19, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_4_8.json" }, "9.4.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 29, + "duration": 19, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_4_9.json" }, "9.5.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 795, + "duration": 570, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_5_1.json" }, "9.5.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 425, + "duration": 290, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_5_2.json" }, "9.5.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 228, + "duration": 154, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_5_3.json" }, "9.5.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 114, + "duration": 85, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_5_4.json" }, "9.5.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 84, + "duration": 49, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_5_5.json" }, "9.5.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 51, + "duration": 30, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_5_6.json" }, "9.6.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 799, + "duration": 567, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_6_1.json" }, "9.6.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 429, + "duration": 291, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_6_2.json" }, "9.6.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 214, + "duration": 157, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_6_3.json" }, "9.6.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 127, + "duration": 83, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_6_4.json" }, "9.6.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 80, + "duration": 48, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_6_5.json" }, "9.6.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 57, + "duration": 30, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_6_6.json" }, "9.7.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 127, + "duration": 66, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_7_1.json" }, "9.7.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 121, + "duration": 69, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_7_2.json" }, "9.7.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 124, + "duration": 73, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_7_3.json" }, "9.7.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 146, + "duration": 81, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_7_4.json" }, "9.7.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 196, + "duration": 118, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_7_5.json" }, "9.7.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 351, + "duration": 250, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_7_6.json" }, "9.8.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 95, + "duration": 64, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_8_1.json" }, "9.8.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 119, + "duration": 69, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_8_2.json" }, "9.8.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 115, + "duration": 69, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_8_3.json" }, "9.8.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 134, + "duration": 79, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_8_4.json" }, "9.8.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 187, + "duration": 107, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_8_5.json" }, "9.8.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 328, + "duration": 202, "remoteCloseCode": 1000, "reportfile": "tungstenite_case_9_8_6.json" } diff --git a/src/extensions/deflate.rs b/src/extensions/deflate.rs index 63e31f4..cbaa961 100644 --- a/src/extensions/deflate.rs +++ b/src/extensions/deflate.rs @@ -69,6 +69,37 @@ impl DeflateExt { incomplete_message.extend(data, self.config.max_message_size)?; incomplete_message.complete() } + + fn parse_window_parameter<'a>( + &self, + mut param_iter: impl Iterator, + ) -> Result, String> { + if let Some(window_bits_str) = param_iter.next() { + match window_bits_str.trim().parse() { + Ok(mut window_bits) => { + if window_bits == 8 { + window_bits = 9; + } + + if window_bits >= 9 && window_bits <= 15 { + if window_bits as u8 != self.config.max_window_bits { + Ok(Some(window_bits)) + } else { + Ok(None) + } + } else { + Err(format!( + "Invalid server_max_window_bits parameter: {}", + window_bits + )) + } + } + Err(e) => Err(e.to_string()), + } + } else { + Ok(None) + } + } } #[derive(Clone, Copy, Debug)] @@ -181,45 +212,44 @@ impl WebSocketExtension for DeflateExt { } fn on_response(&mut self, response: &Response) -> Result<(), Self::Error> { - let mut name = false; - let mut s_takeover = false; - let mut c_takeover = false; - let mut s_max = false; - let mut c_max = false; + let mut extension_name = false; + let mut server_takeover = false; + let mut client_takeover = false; + let mut server_max_window_bits = false; + let mut client_max_window_bits = false; for header in response.headers().get_all(SEC_WEBSOCKET_EXTENSIONS) { - self.enabled = true; - match header.to_str() { Ok(header) => { for param in header.split(';') { match param.trim() { "permessage-deflate" => { - if name { + if extension_name { return Err(DeflateExtensionError::NegotiationError(format!( "Duplicate extension name permessage-deflate" ))); } else { - name = true; + self.enabled = true; + extension_name = true; } } "server_no_context_takeover" => { - if s_takeover { + if server_takeover { return Err(DeflateExtensionError::NegotiationError(format!( "Duplicate extension parameter server_no_context_takeover" ))); } else { - s_takeover = true; + server_takeover = true; self.config.decompress_reset = true; } } "client_no_context_takeover" => { - if c_takeover { + if client_takeover { return Err(DeflateExtensionError::NegotiationError(format!( "Duplicate extension parameter client_no_context_takeover" ))); } else { - c_takeover = true; + client_takeover = true; if self.config.accept_no_context_takeover { self.config.compress_reset = true; @@ -231,101 +261,66 @@ impl WebSocketExtension for DeflateExt { } } param if param.starts_with("server_max_window_bits") => { - if s_max { + if server_max_window_bits { return Err(DeflateExtensionError::NegotiationError(format!( "Duplicate extension parameter server_max_window_bits" ))); } else { - s_max = true; - - let mut param_iter = param.split('='); - param_iter.next(); // we already know the name - - if let Some(window_bits_str) = param_iter.next() { - if let Ok(window_bits) = window_bits_str.trim().parse() { - if window_bits >= 9 && window_bits <= 15 { - if window_bits as u8 != self.config.max_window_bits - { - self.inflator = Inflator { - decompress: - Decompress::new_with_window_bits( - false, - window_bits, - ), - }; - } - } else { - return Err( - DeflateExtensionError::NegotiationError( - format!( - "Invalid server_max_window_bits parameter: {}", - window_bits + server_max_window_bits = true; + + match self.parse_window_parameter(param.split("=").skip(1)) { + Ok(Some(bits)) => { + self.deflator = Deflator { + compress: Compress::new_with_window_bits( + self.config.compression_level, + false, + bits, ), - ), - ); - } - } else { + }; + } + Ok(None) => {} + Err(e) => { return Err(DeflateExtensionError::NegotiationError( format!( - "Invalid server_max_window_bits parameter: {}", - window_bits_str + "server_max_window_bits parameter error: {}", + e ), - )); + )) } } } } param if param.starts_with("client_max_window_bits") => { - if c_max { + if client_max_window_bits { return Err(DeflateExtensionError::NegotiationError(format!( "Duplicate extension parameter client_max_window_bits" ))); } else { - c_max = true; - let mut param_iter = param.split('='); - param_iter.next(); // we already know the name - if let Some(window_bits_str) = param_iter.next() { - if let Ok(mut window_bits) = window_bits_str.trim().parse() - { - if window_bits == 8 { - window_bits = 9; - } - - if window_bits >= 9 && window_bits <= 15 { - if window_bits as u8 != self.config.max_window_bits - { - self.inflator = Inflator { - decompress: - Decompress::new_with_window_bits( - false, - window_bits, - ), - }; - } - } else { - return Err( - DeflateExtensionError::NegotiationError( - format!( - "Invalid client_max_window_bits parameter: {}", - window_bits + client_max_window_bits = true; + + match self.parse_window_parameter(param.split("=").skip(1)) { + Ok(Some(bits)) => { + self.inflator = Inflator { + decompress: Decompress::new_with_window_bits( + false, bits, ), - ), - ); - } - } else { + }; + } + Ok(None) => {} + Err(e) => { return Err(DeflateExtensionError::NegotiationError( format!( - "Invalid client_max_window_bits parameter: {}", - window_bits_str + "client_max_window_bits parameter error: {}", + e ), - )); + )) } } } } param => { return Err(DeflateExtensionError::NegotiationError(format!( - "Unknown extension parameter: {}", + "Unknown permessage-deflate parameter: {}", param ))); } @@ -333,6 +328,8 @@ impl WebSocketExtension for DeflateExt { } } Err(e) => { + self.enabled = false; + return Err(DeflateExtensionError::NegotiationError(format!( "Failed to parse extension parameter: {}", e