OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/socket/socket_test_util.h" | 5 #include "net/socket/socket_test_util.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 | 10 |
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
534 if (is_npn_state_set_) | 534 if (is_npn_state_set_) |
535 return new_npn_value_; | 535 return new_npn_value_; |
536 return data_->was_npn_negotiated; | 536 return data_->was_npn_negotiated; |
537 } | 537 } |
538 | 538 |
539 bool MockSSLClientSocket::set_was_npn_negotiated(bool negotiated) { | 539 bool MockSSLClientSocket::set_was_npn_negotiated(bool negotiated) { |
540 is_npn_state_set_ = true; | 540 is_npn_state_set_ = true; |
541 return new_npn_value_ = negotiated; | 541 return new_npn_value_ = negotiated; |
542 } | 542 } |
543 | 543 |
| 544 StaticSocketDataProvider::StaticSocketDataProvider() |
| 545 : reads_(NULL), |
| 546 read_index_(0), |
| 547 read_count_(0), |
| 548 writes_(NULL), |
| 549 write_index_(0), |
| 550 write_count_(0) { |
| 551 } |
| 552 |
| 553 StaticSocketDataProvider::StaticSocketDataProvider(MockRead* reads, |
| 554 size_t reads_count, |
| 555 MockWrite* writes, |
| 556 size_t writes_count) |
| 557 : reads_(reads), |
| 558 read_index_(0), |
| 559 read_count_(reads_count), |
| 560 writes_(writes), |
| 561 write_index_(0), |
| 562 write_count_(writes_count) { |
| 563 } |
| 564 |
| 565 StaticSocketDataProvider::~StaticSocketDataProvider() {} |
| 566 |
544 MockRead StaticSocketDataProvider::GetNextRead() { | 567 MockRead StaticSocketDataProvider::GetNextRead() { |
545 DCHECK(!at_read_eof()); | 568 DCHECK(!at_read_eof()); |
546 reads_[read_index_].time_stamp = base::Time::Now(); | 569 reads_[read_index_].time_stamp = base::Time::Now(); |
547 return reads_[read_index_++]; | 570 return reads_[read_index_++]; |
548 } | 571 } |
549 | 572 |
550 MockWriteResult StaticSocketDataProvider::OnWrite(const std::string& data) { | 573 MockWriteResult StaticSocketDataProvider::OnWrite(const std::string& data) { |
551 if (!writes_) { | 574 if (!writes_) { |
552 // Not using mock writes; succeed synchronously. | 575 // Not using mock writes; succeed synchronously. |
553 return MockWriteResult(false, data.length()); | 576 return MockWriteResult(false, data.length()); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
602 void StaticSocketDataProvider::Reset() { | 625 void StaticSocketDataProvider::Reset() { |
603 read_index_ = 0; | 626 read_index_ = 0; |
604 write_index_ = 0; | 627 write_index_ = 0; |
605 } | 628 } |
606 | 629 |
607 DynamicSocketDataProvider::DynamicSocketDataProvider() | 630 DynamicSocketDataProvider::DynamicSocketDataProvider() |
608 : short_read_limit_(0), | 631 : short_read_limit_(0), |
609 allow_unconsumed_reads_(false) { | 632 allow_unconsumed_reads_(false) { |
610 } | 633 } |
611 | 634 |
| 635 DynamicSocketDataProvider::~DynamicSocketDataProvider() {} |
| 636 |
612 MockRead DynamicSocketDataProvider::GetNextRead() { | 637 MockRead DynamicSocketDataProvider::GetNextRead() { |
613 if (reads_.empty()) | 638 if (reads_.empty()) |
614 return MockRead(false, ERR_UNEXPECTED); | 639 return MockRead(false, ERR_UNEXPECTED); |
615 MockRead result = reads_.front(); | 640 MockRead result = reads_.front(); |
616 if (short_read_limit_ == 0 || result.data_len <= short_read_limit_) { | 641 if (short_read_limit_ == 0 || result.data_len <= short_read_limit_) { |
617 reads_.pop_front(); | 642 reads_.pop_front(); |
618 } else { | 643 } else { |
619 result.data_len = short_read_limit_; | 644 result.data_len = short_read_limit_; |
620 reads_.front().data += result.data_len; | 645 reads_.front().data += result.data_len; |
621 reads_.front().data_len -= result.data_len; | 646 reads_.front().data_len -= result.data_len; |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
777 callback_->RunWithParams(Tuple1<int>(ERR_IO_PENDING)); | 802 callback_->RunWithParams(Tuple1<int>(ERR_IO_PENDING)); |
778 } | 803 } |
779 | 804 |
780 void OrderedSocketData::CompleteRead() { | 805 void OrderedSocketData::CompleteRead() { |
781 if (socket()) { | 806 if (socket()) { |
782 NET_TRACE(INFO, " *** ") << "Stage " << sequence_number_; | 807 NET_TRACE(INFO, " *** ") << "Stage " << sequence_number_; |
783 socket()->OnReadComplete(GetNextRead()); | 808 socket()->OnReadComplete(GetNextRead()); |
784 } | 809 } |
785 } | 810 } |
786 | 811 |
| 812 OrderedSocketData::~OrderedSocketData() {} |
| 813 |
787 DeterministicSocketData::DeterministicSocketData(MockRead* reads, | 814 DeterministicSocketData::DeterministicSocketData(MockRead* reads, |
788 size_t reads_count, MockWrite* writes, size_t writes_count) | 815 size_t reads_count, MockWrite* writes, size_t writes_count) |
789 : StaticSocketDataProvider(reads, reads_count, writes, writes_count), | 816 : StaticSocketDataProvider(reads, reads_count, writes, writes_count), |
790 sequence_number_(0), | 817 sequence_number_(0), |
791 current_read_(), | 818 current_read_(), |
792 current_write_(), | 819 current_write_(), |
793 stopping_sequence_number_(0), | 820 stopping_sequence_number_(0), |
794 stopped_(false), | 821 stopped_(false), |
795 print_debug_(false) {} | 822 print_debug_(false) {} |
796 | 823 |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
927 | 954 |
928 void DeterministicSocketData::NextStep() { | 955 void DeterministicSocketData::NextStep() { |
929 // Invariant: Can never move *past* the stopping step. | 956 // Invariant: Can never move *past* the stopping step. |
930 DCHECK_LT(sequence_number_, stopping_sequence_number_); | 957 DCHECK_LT(sequence_number_, stopping_sequence_number_); |
931 sequence_number_++; | 958 sequence_number_++; |
932 if (sequence_number_ == stopping_sequence_number_) | 959 if (sequence_number_ == stopping_sequence_number_) |
933 SetStopped(true); | 960 SetStopped(true); |
934 } | 961 } |
935 | 962 |
936 | 963 |
| 964 MockClientSocketFactory::MockClientSocketFactory() {} |
| 965 |
| 966 MockClientSocketFactory::~MockClientSocketFactory() {} |
| 967 |
937 void MockClientSocketFactory::AddSocketDataProvider( | 968 void MockClientSocketFactory::AddSocketDataProvider( |
938 SocketDataProvider* data) { | 969 SocketDataProvider* data) { |
939 mock_data_.Add(data); | 970 mock_data_.Add(data); |
940 } | 971 } |
941 | 972 |
942 void MockClientSocketFactory::AddSSLSocketDataProvider( | 973 void MockClientSocketFactory::AddSSLSocketDataProvider( |
943 SSLSocketDataProvider* data) { | 974 SSLSocketDataProvider* data) { |
944 mock_ssl_data_.Add(data); | 975 mock_ssl_data_.Add(data); |
945 } | 976 } |
946 | 977 |
(...skipping 30 matching lines...) Expand all Loading... |
977 ClientSocketHandle* transport_socket, | 1008 ClientSocketHandle* transport_socket, |
978 const std::string& hostname, | 1009 const std::string& hostname, |
979 const SSLConfig& ssl_config) { | 1010 const SSLConfig& ssl_config) { |
980 MockSSLClientSocket* socket = | 1011 MockSSLClientSocket* socket = |
981 new MockSSLClientSocket(transport_socket, hostname, ssl_config, | 1012 new MockSSLClientSocket(transport_socket, hostname, ssl_config, |
982 mock_ssl_data_.GetNext()); | 1013 mock_ssl_data_.GetNext()); |
983 ssl_client_sockets_.push_back(socket); | 1014 ssl_client_sockets_.push_back(socket); |
984 return socket; | 1015 return socket; |
985 } | 1016 } |
986 | 1017 |
| 1018 DeterministicMockClientSocketFactory::DeterministicMockClientSocketFactory() {} |
| 1019 |
| 1020 DeterministicMockClientSocketFactory::~DeterministicMockClientSocketFactory() {} |
| 1021 |
987 void DeterministicMockClientSocketFactory::AddSocketDataProvider( | 1022 void DeterministicMockClientSocketFactory::AddSocketDataProvider( |
988 DeterministicSocketData* data) { | 1023 DeterministicSocketData* data) { |
989 mock_data_.Add(data); | 1024 mock_data_.Add(data); |
990 } | 1025 } |
991 | 1026 |
992 void DeterministicMockClientSocketFactory::AddSSLSocketDataProvider( | 1027 void DeterministicMockClientSocketFactory::AddSSLSocketDataProvider( |
993 SSLSocketDataProvider* data) { | 1028 SSLSocketDataProvider* data) { |
994 mock_ssl_data_.Add(data); | 1029 mock_ssl_data_.Add(data); |
995 } | 1030 } |
996 | 1031 |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1096 ClientSocket* socket, | 1131 ClientSocket* socket, |
1097 ClientSocketHandle* handle, | 1132 ClientSocketHandle* handle, |
1098 CompletionCallback* callback) | 1133 CompletionCallback* callback) |
1099 : socket_(socket), | 1134 : socket_(socket), |
1100 handle_(handle), | 1135 handle_(handle), |
1101 user_callback_(callback), | 1136 user_callback_(callback), |
1102 ALLOW_THIS_IN_INITIALIZER_LIST( | 1137 ALLOW_THIS_IN_INITIALIZER_LIST( |
1103 connect_callback_(this, &MockConnectJob::OnConnect)) { | 1138 connect_callback_(this, &MockConnectJob::OnConnect)) { |
1104 } | 1139 } |
1105 | 1140 |
| 1141 MockTCPClientSocketPool::MockConnectJob::~MockConnectJob() {} |
| 1142 |
1106 int MockTCPClientSocketPool::MockConnectJob::Connect() { | 1143 int MockTCPClientSocketPool::MockConnectJob::Connect() { |
1107 int rv = socket_->Connect(&connect_callback_); | 1144 int rv = socket_->Connect(&connect_callback_); |
1108 if (rv == OK) { | 1145 if (rv == OK) { |
1109 user_callback_ = NULL; | 1146 user_callback_ = NULL; |
1110 OnConnect(OK); | 1147 OnConnect(OK); |
1111 } | 1148 } |
1112 return rv; | 1149 return rv; |
1113 } | 1150 } |
1114 | 1151 |
1115 bool MockTCPClientSocketPool::MockConnectJob::CancelHandle( | 1152 bool MockTCPClientSocketPool::MockConnectJob::CancelHandle( |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1227 | 1264 |
1228 const char kSOCKS5OkRequest[] = | 1265 const char kSOCKS5OkRequest[] = |
1229 { 0x05, 0x01, 0x00, 0x03, 0x04, 'h', 'o', 's', 't', 0x00, 0x50 }; | 1266 { 0x05, 0x01, 0x00, 0x03, 0x04, 'h', 'o', 's', 't', 0x00, 0x50 }; |
1230 const int kSOCKS5OkRequestLength = arraysize(kSOCKS5OkRequest); | 1267 const int kSOCKS5OkRequestLength = arraysize(kSOCKS5OkRequest); |
1231 | 1268 |
1232 const char kSOCKS5OkResponse[] = | 1269 const char kSOCKS5OkResponse[] = |
1233 { 0x05, 0x00, 0x00, 0x01, 127, 0, 0, 1, 0x00, 0x50 }; | 1270 { 0x05, 0x00, 0x00, 0x01, 127, 0, 0, 1, 0x00, 0x50 }; |
1234 const int kSOCKS5OkResponseLength = arraysize(kSOCKS5OkResponse); | 1271 const int kSOCKS5OkResponseLength = arraysize(kSOCKS5OkResponse); |
1235 | 1272 |
1236 } // namespace net | 1273 } // namespace net |
OLD | NEW |