Index: net/tools/quic/test_tools/quic_test_client.cc |
diff --git a/net/tools/quic/test_tools/quic_test_client.cc b/net/tools/quic/test_tools/quic_test_client.cc |
index 51f599d6e66019b900320ba8722ade4a2b8d1eab..d0cfe687b91a6b6e6047523dc7f43bff9bf44038 100644 |
--- a/net/tools/quic/test_tools/quic_test_client.cc |
+++ b/net/tools/quic/test_tools/quic_test_client.cc |
@@ -12,7 +12,9 @@ |
#include "net/quic/crypto/proof_verifier.h" |
#include "net/quic/quic_server_id.h" |
#include "net/quic/test_tools/quic_connection_peer.h" |
+#include "net/quic/test_tools/quic_session_peer.h" |
#include "net/quic/test_tools/quic_test_utils.h" |
+#include "net/quic/test_tools/reliable_quic_stream_peer.h" |
#include "net/tools/balsa/balsa_headers.h" |
#include "net/tools/quic/quic_epoll_connection_helper.h" |
#include "net/tools/quic/quic_packet_writer_wrapper.h" |
@@ -23,8 +25,10 @@ |
using base::StringPiece; |
using net::QuicServerId; |
-using net::test::kInitialFlowControlWindowForTest; |
using net::test::QuicConnectionPeer; |
+using net::test::QuicSessionPeer; |
+using net::test::ReliableQuicStreamPeer; |
+using net::test::kInitialFlowControlWindowForTest; |
using std::string; |
using std::vector; |
@@ -100,13 +104,11 @@ BalsaHeaders* MungeHeaders(const BalsaHeaders* const_headers, |
MockableQuicClient::MockableQuicClient( |
IPEndPoint server_address, |
const QuicServerId& server_id, |
- const QuicVersionVector& supported_versions, |
- uint32 initial_flow_control_window) |
+ const QuicVersionVector& supported_versions) |
: QuicClient(server_address, |
server_id, |
supported_versions, |
- false, |
- initial_flow_control_window), |
+ false), |
override_connection_id_(0), |
test_writer_(NULL) {} |
@@ -114,13 +116,12 @@ MockableQuicClient::MockableQuicClient( |
IPEndPoint server_address, |
const QuicServerId& server_id, |
const QuicConfig& config, |
- const QuicVersionVector& supported_versions, |
- uint32 initial_flow_control_window) |
+ const QuicVersionVector& supported_versions) |
: QuicClient(server_address, |
server_id, |
- config, |
supported_versions, |
- initial_flow_control_window), |
+ false, |
+ config), |
override_connection_id_(0), |
test_writer_(NULL) {} |
@@ -162,8 +163,7 @@ QuicTestClient::QuicTestClient(IPEndPoint server_address, |
server_address.port(), |
false, |
PRIVACY_MODE_DISABLED), |
- supported_versions, |
- kInitialFlowControlWindowForTest)) { |
+ supported_versions)) { |
Initialize(true); |
} |
@@ -176,8 +176,7 @@ QuicTestClient::QuicTestClient(IPEndPoint server_address, |
server_address.port(), |
secure, |
PRIVACY_MODE_DISABLED), |
- supported_versions, |
- kInitialFlowControlWindowForTest)) { |
+ supported_versions)) { |
Initialize(secure); |
} |
@@ -186,8 +185,7 @@ QuicTestClient::QuicTestClient( |
const string& server_hostname, |
bool secure, |
const QuicConfig& config, |
- const QuicVersionVector& supported_versions, |
- uint32 client_initial_flow_control_receive_window) |
+ const QuicVersionVector& supported_versions) |
: client_( |
new MockableQuicClient(server_address, |
QuicServerId(server_hostname, |
@@ -195,8 +193,7 @@ QuicTestClient::QuicTestClient( |
secure, |
PRIVACY_MODE_DISABLED), |
config, |
- supported_versions, |
- client_initial_flow_control_receive_window)) { |
+ supported_versions)) { |
Initialize(secure); |
} |
@@ -215,6 +212,7 @@ void QuicTestClient::Initialize(bool secure) { |
secure_ = secure; |
auto_reconnect_ = false; |
buffer_body_ = true; |
+ fec_policy_ = FEC_PROTECT_OPTIONAL; |
proof_verifier_ = NULL; |
ClearPerRequestState(); |
ExpectCertificates(secure_); |
@@ -333,6 +331,8 @@ QuicSpdyClientStream* QuicTestClient::GetOrCreateStream() { |
} |
stream_->set_visitor(this); |
reinterpret_cast<QuicSpdyClientStream*>(stream_)->set_priority(priority_); |
+ // Set FEC policy on stream. |
+ ReliableQuicStreamPeer::SetFecPolicy(stream_, fec_policy_); |
} |
return stream_; |
@@ -545,6 +545,15 @@ void QuicTestClient::WaitForWriteToFlush() { |
} |
} |
+void QuicTestClient::SetFecPolicy(FecPolicy fec_policy) { |
+ fec_policy_ = fec_policy; |
+ // Set policy for headers and crypto streams. |
+ ReliableQuicStreamPeer::SetFecPolicy( |
+ QuicSessionPeer::GetHeadersStream(client()->session()), fec_policy); |
+ ReliableQuicStreamPeer::SetFecPolicy(client()->session()->GetCryptoStream(), |
+ fec_policy); |
+} |
+ |
} // namespace test |
} // namespace tools |
} // namespace net |