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

Unified Diff: net/http/http_network_session.h

Issue 2600973002: Implement HTTP/2 settings field trial parameters. (Closed)
Patch Set: Created 4 years 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
Index: net/http/http_network_session.h
diff --git a/net/http/http_network_session.h b/net/http/http_network_session.h
index f1402bfae2908ed943c496809d2ab0037e74fdcb..a52f3ed97b12434645befca6d9dae91bfc5e3dbe 100644
--- a/net/http/http_network_session.h
+++ b/net/http/http_network_session.h
@@ -28,6 +28,7 @@
#include "net/http/http_stream_factory.h"
#include "net/quic/chromium/quic_stream_factory.h"
#include "net/socket/next_proto.h"
+#include "net/spdy/spdy_protocol.h"
#include "net/spdy/spdy_session_pool.h"
#include "net/ssl/ssl_client_auth_cache.h"
@@ -65,6 +66,12 @@ class SSLConfigService;
class TransportClientSocketPool;
class TransportSecurityState;
+// Specifies the maximum HPACK dynamic table size the server is allowed to set.
+const uint32_t kSpdyMaxHeaderTableSize = 64 * 1024;
+
+// Specifies the maximum concurrent streams server could send (via push).
+const uint32_t kSpdyMaxConcurrentPushedStreams = 1000;
+
// This class holds session objects used by HttpNetworkTransaction objects.
class NET_EXPORT HttpNetworkSession
: NON_EXPORTED_BASE(public base::NonThreadSafe),
@@ -98,7 +105,9 @@ class NET_EXPORT HttpNetworkSession
bool enable_spdy_ping_based_connection_checking;
bool enable_http2;
size_t spdy_session_max_recv_window_size;
- size_t spdy_stream_max_recv_window_size;
+ // HTTP/2 connection settings.
+ // Unknown settings will still be sent to the server.
+ SettingsMap http2_settings;
// Source of time for SPDY connections.
SpdySessionPool::TimeFunc time_func;
// Whether to enable HTTP/2 Alt-Svc entries with hostname different than
@@ -297,6 +306,11 @@ class NET_EXPORT HttpNetworkSession
// base::MemoryCoordinatorClient implementation:
void OnMemoryStateChange(base::MemoryState state) override;
+ // Keep all HTTP2 parameters in |http2_settings|, even the ones that are not
+ // implemented, to be sent to the server.
+ // Set default values for settings that |http2_settings| does not specify.
+ SettingsMap AddDefaultHttp2Settings(SettingsMap http2_settings);
+
NetLog* const net_log_;
HttpServerProperties* const http_server_properties_;
CertVerifier* const cert_verifier_;

Powered by Google App Engine
This is Rietveld 408576698