Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(759)

Unified Diff: sdk/lib/io/websocket.dart

Issue 1584653008: Optimize Websocket compression for no context takeover requests (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | sdk/lib/io/websocket_impl.dart » ('j') | tests/standalone/io/web_socket_compression_test.dart » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sdk/lib/io/websocket.dart
diff --git a/sdk/lib/io/websocket.dart b/sdk/lib/io/websocket.dart
index edb5b6d1ba00e6453740ce5e73d6cf77e725acf0..183714fedcce843c68425af99c0eb4bda4922254 100644
--- a/sdk/lib/io/websocket.dart
+++ b/sdk/lib/io/websocket.dart
@@ -116,7 +116,14 @@ class CompressionOptions {
info = "; client_max_window_bits=$size";
} else {
// Client request. Specify default
- info = "; client_max_window_bits";
+ if (clientMaxWindowBits == null) {
+ info = "; client_max_window_bits";
+ } else {
+ info = "; client_max_window_bits=$clientMaxWindowBits";
+ }
+ if (serverMaxWindowBits != null) {
+ info += "; server_max_window_bits=$serverMaxWindowBits";
+ }
}
return info;
@@ -139,14 +146,14 @@ class CompressionOptions {
info.headerValue = _WebSocketImpl.PER_MESSAGE_DEFLATE;
if (clientNoContextTakeover &&
- (requested != null &&
- requested.parameters.containsKey(_clientNoContextTakeover))) {
+ (requested == null || (requested != null &&
+ requested.parameters.containsKey(_clientNoContextTakeover)))) {
info.headerValue += "; client_no_context_takeover";
}
if (serverNoContextTakeover &&
- (requested != null &&
- requested.parameters.containsKey(_serverNoContextTakeover))) {
+ (requested == null || (requested != null &&
+ requested.parameters.containsKey(_serverNoContextTakeover)))) {
info.headerValue += "; server_no_context_takeover";
}
« no previous file with comments | « no previous file | sdk/lib/io/websocket_impl.dart » ('j') | tests/standalone/io/web_socket_compression_test.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698