blob: 9c71eff9c9599e02099262a630a36cb1d15463ca [file] [log] [blame]
rchec765412016-08-25 20:14:411// Copyright 2015 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Ryan Hamiltona3ee93a72018-08-01 22:03:085#include "net/quic/mock_quic_data.h"
rchec765412016-08-25 20:14:416
7namespace net {
8namespace test {
9
Ryan Hamiltonabad59e2019-06-06 04:02:5910MockQuicData::MockQuicData(quic::ParsedQuicVersion version)
11 : sequence_number_(0), printer_(version) {}
rchec765412016-08-25 20:14:4112
13MockQuicData::~MockQuicData() {}
14
rcha00569732016-08-27 11:09:3615void MockQuicData::AddConnect(IoMode mode, int rv) {
16 connect_.reset(new MockConnect(mode, rv));
17}
18
Zhongyi Shi32f2fd02018-04-16 18:23:4319void MockQuicData::AddRead(IoMode mode,
Ryan Hamilton8d9ee76e2018-05-29 23:52:5220 std::unique_ptr<quic::QuicEncryptedPacket> packet) {
rchec765412016-08-25 20:14:4121 reads_.push_back(
Zhongyi Shi32f2fd02018-04-16 18:23:4322 MockRead(mode, packet->data(), packet->length(), sequence_number_++));
rchec765412016-08-25 20:14:4123 packets_.push_back(std::move(packet));
24}
rchec765412016-08-25 20:14:4125void MockQuicData::AddRead(IoMode mode, int rv) {
26 reads_.push_back(MockRead(mode, rv, sequence_number_++));
27}
28
Zhongyi Shi32f2fd02018-04-16 18:23:4329void MockQuicData::AddWrite(IoMode mode,
Ryan Hamilton8d9ee76e2018-05-29 23:52:5230 std::unique_ptr<quic::QuicEncryptedPacket> packet) {
rchbd089ab2017-05-26 23:05:0431 writes_.push_back(
Zhongyi Shi32f2fd02018-04-16 18:23:4332 MockWrite(mode, packet->data(), packet->length(), sequence_number_++));
rchbd089ab2017-05-26 23:05:0433 packets_.push_back(std::move(packet));
34}
35
rcha00569732016-08-27 11:09:3636void MockQuicData::AddWrite(IoMode mode, int rv) {
37 writes_.push_back(MockWrite(mode, rv, sequence_number_++));
38}
39
Ryan Hamilton9f2eac32019-06-27 03:15:5440void MockQuicData::AddWrite(IoMode mode,
41 int rv,
42 std::unique_ptr<quic::QuicEncryptedPacket> packet) {
43 writes_.push_back(MockWrite(mode, rv, sequence_number_++));
44 packets_.push_back(std::move(packet));
45}
46
rchec765412016-08-25 20:14:4147void MockQuicData::AddSocketDataToFactory(MockClientSocketFactory* factory) {
Yixin Wang0d2c6b7e12017-08-16 21:12:5548 factory->AddSocketDataProvider(InitializeAndGetSequencedSocketData());
rchec765412016-08-25 20:14:4149}
50
rcha00569732016-08-27 11:09:3651bool MockQuicData::AllReadDataConsumed() {
52 return socket_data_->AllReadDataConsumed();
53}
54
55bool MockQuicData::AllWriteDataConsumed() {
56 return socket_data_->AllWriteDataConsumed();
57}
58
rchec765412016-08-25 20:14:4159void MockQuicData::Resume() {
60 socket_data_->Resume();
61}
62
Yixin Wang0d2c6b7e12017-08-16 21:12:5563SequencedSocketData* MockQuicData::InitializeAndGetSequencedSocketData() {
Ryan Sleevib8d7ea02018-05-07 20:01:0164 socket_data_.reset(new SequencedSocketData(reads_, writes_));
Ryan Hamiltonabad59e2019-06-06 04:02:5965 socket_data_->set_printer(&printer_);
Yixin Wang0d2c6b7e12017-08-16 21:12:5566 if (connect_ != nullptr)
67 socket_data_->set_connect_data(*connect_);
68
69 return socket_data_.get();
70}
71
72SequencedSocketData* MockQuicData::GetSequencedSocketData() {
73 return socket_data_.get();
74}
75
rchec765412016-08-25 20:14:4176} // namespace test
77} // namespace net