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 48b16f2828ba927a8a25b08add29c56573f56806..9782e8c571110cf2beb6a0bf88e4d632bab6b72e 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; |
@@ -208,6 +212,7 @@ void QuicTestClient::Initialize(bool secure) { |
secure_ = secure; |
auto_reconnect_ = false; |
buffer_body_ = true; |
+ fec_policy_ = PROTECT_OPTIONAL; |
proof_verifier_ = NULL; |
ClearPerRequestState(); |
ExpectCertificates(secure_); |
@@ -326,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_; |
@@ -538,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 |