Index: net/quic/test_tools/quic_test_utils.cc |
diff --git a/net/quic/test_tools/quic_test_utils.cc b/net/quic/test_tools/quic_test_utils.cc |
index c339e1850dd1ef091616ef751a5f9dcb9aa08eb9..e4bb175a203f7802b0a309e9be1d399699397d62 100644 |
--- a/net/quic/test_tools/quic_test_utils.cc |
+++ b/net/quic/test_tools/quic_test_utils.cc |
@@ -72,7 +72,8 @@ QuicPacket* BuildUnsizedDataPacket(QuicFramer* framer, |
const QuicFrames& frames, |
size_t packet_size) { |
char* buffer = new char[packet_size]; |
- size_t length = framer->BuildDataPacket(header, frames, buffer, packet_size); |
+ size_t length = |
+ framer->BuildDataPacket(header, frames, buffer, packet_size, nullptr); |
DCHECK_NE(0u, length); |
// Re-construct the data packet with data ownership. |
return new QuicPacket(buffer, length, /* owns_buffer */ true, |
@@ -211,6 +212,20 @@ MockQuicConnectionVisitor::MockQuicConnectionVisitor() {} |
MockQuicConnectionVisitor::~MockQuicConnectionVisitor() {} |
+void MockQuicConnectionVisitor::SaveStreamData(QuicStreamId id, |
+ QuicIOVector iov, |
+ size_t iov_offset, |
+ QuicStreamOffset offset, |
+ QuicByteCount data_length) { |
+ producer_.SaveStreamData(id, iov, iov_offset, offset, data_length); |
+} |
+bool MockQuicConnectionVisitor::WriteStreamData(QuicStreamId id, |
+ QuicStreamOffset offset, |
+ QuicByteCount data_length, |
+ QuicDataWriter* writer) { |
+ return producer_.WriteStreamData(id, offset, data_length, writer); |
+} |
+ |
MockQuicConnectionHelper::MockQuicConnectionHelper() {} |
MockQuicConnectionHelper::~MockQuicConnectionHelper() {} |
@@ -379,6 +394,21 @@ QuicConsumedData MockQuicSession::ConsumeAllData( |
return QuicConsumedData(data.total_length, state != NO_FIN); |
} |
+QuicConsumedData MockQuicSession::ConsumeAndSaveAllData( |
+ QuicStream* stream, |
+ QuicStreamId id, |
+ const QuicIOVector& data, |
+ QuicStreamOffset offset, |
+ StreamSendingState state, |
+ const QuicReferenceCountedPointer<QuicAckListenerInterface>& ack_listener) { |
+ QuicConsumedData consumed = |
+ QuicConsumedData(data.total_length, state != NO_FIN); |
+ if (streams_own_data() && data.total_length > 0) { |
+ SaveStreamData(id, data, 0, offset, data.total_length); |
+ } |
+ return consumed; |
+} |
+ |
MockQuicSpdySession::MockQuicSpdySession(QuicConnection* connection) |
: QuicSpdySession(connection, nullptr, DefaultQuicConfig()) { |
crypto_stream_.reset(new QuicCryptoStream(this)); |
@@ -409,6 +439,21 @@ size_t MockQuicSpdySession::WriteHeaders( |
return WriteHeadersMock(id, write_headers_, fin, priority, ack_listener); |
} |
+QuicConsumedData MockQuicSpdySession::ConsumeAndSaveAllData( |
+ QuicStream* stream, |
+ QuicStreamId id, |
+ const QuicIOVector& data, |
+ QuicStreamOffset offset, |
+ StreamSendingState state, |
+ const QuicReferenceCountedPointer<QuicAckListenerInterface>& ack_listener) { |
+ QuicConsumedData consumed = |
+ QuicConsumedData(data.total_length, state != NO_FIN); |
+ if (streams_own_data() && data.total_length > 0) { |
+ SaveStreamData(id, data, 0, offset, data.total_length); |
+ } |
+ return consumed; |
+} |
+ |
TestQuicSpdyServerSession::TestQuicSpdyServerSession( |
QuicConnection* connection, |
const QuicConfig& config, |
@@ -793,6 +838,24 @@ MockConnectionCloseDelegate::MockConnectionCloseDelegate() {} |
MockConnectionCloseDelegate::~MockConnectionCloseDelegate() {} |
+MockPacketCreatorDelegate::MockPacketCreatorDelegate() {} |
+MockPacketCreatorDelegate::~MockPacketCreatorDelegate() {} |
+ |
+void MockPacketCreatorDelegate::SaveStreamData(QuicStreamId id, |
+ QuicIOVector iov, |
+ size_t iov_offset, |
+ QuicStreamOffset offset, |
+ QuicByteCount data_length) { |
+ producer_.SaveStreamData(id, iov, iov_offset, offset, data_length); |
+} |
+ |
+bool MockPacketCreatorDelegate::WriteStreamData(QuicStreamId id, |
+ QuicStreamOffset offset, |
+ QuicByteCount data_length, |
+ QuicDataWriter* writer) { |
+ return producer_.WriteStreamData(id, offset, data_length, writer); |
+} |
+ |
void CreateClientSessionForTest(QuicServerId server_id, |
bool supports_stateless_rejects, |
QuicTime::Delta connection_start_time, |