Index: net/quic/quic_chromium_client_session.h |
diff --git a/net/quic/quic_chromium_client_session.h b/net/quic/quic_chromium_client_session.h |
index 0a1ac868ce0f13b24d74e055834c497bb9727472..38ce10746f54169dc25443e74784db0eb5c360de 100644 |
--- a/net/quic/quic_chromium_client_session.h |
+++ b/net/quic/quic_chromium_client_session.h |
@@ -184,7 +184,7 @@ class NET_EXPORT_PRIVATE QuicChromiumClientSession |
// Resumes a crypto handshake with the server after a timeout. |
int ResumeCryptoConnect(const CompletionCallback& callback); |
- // Causes the QuicConnectionHelper to start reading from the socket |
+ // Causes the QuicConnectionHelper to start reading from all sockets |
// and passing the data along to the QuicConnection. |
void StartReading(); |
@@ -217,6 +217,13 @@ class NET_EXPORT_PRIVATE QuicChromiumClientSession |
QuicDisabledReason disabled_reason() const { return disabled_reason_; } |
+ // Call to add a new socket to the session. Takes ownership of |socket|. |
+ void AddSocket(scoped_ptr<DatagramClientSocket> socket); |
+ |
+ // Call to add a new PacketReader to the session. Returns true if reader was |
+ // successfully added to the session. Takes ownership of |reader|. |
+ bool AddPacketReader(QuicPacketReader* reader); |
+ |
protected: |
// QuicSession methods: |
QuicDataStream* CreateIncomingDynamicStream(QuicStreamId id) override; |
@@ -266,7 +273,7 @@ class NET_EXPORT_PRIVATE QuicChromiumClientSession |
bool require_confirmation_; |
scoped_ptr<QuicCryptoClientStream> crypto_stream_; |
QuicStreamFactory* stream_factory_; |
- scoped_ptr<DatagramClientSocket> socket_; |
+ std::vector<scoped_ptr<DatagramClientSocket>> sockets_; |
TransportSecurityState* transport_security_state_; |
scoped_ptr<QuicServerInfo> server_info_; |
scoped_ptr<CertVerifyResult> cert_verify_result_; |
@@ -277,7 +284,7 @@ class NET_EXPORT_PRIVATE QuicChromiumClientSession |
size_t num_total_streams_; |
base::TaskRunner* task_runner_; |
BoundNetLog net_log_; |
- QuicPacketReader packet_reader_; |
+ std::vector<scoped_ptr<QuicPacketReader>> packet_readers_; |
base::TimeTicks dns_resolution_end_time_; |
base::TimeTicks handshake_start_; // Time the handshake was started. |
scoped_ptr<QuicConnectionLogger> logger_; |