OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "content/renderer/p2p/p2p_transport_impl.h" | 5 #include "content/renderer/p2p/p2p_transport_impl.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 write_socket_(write_socket), | 51 write_socket_(write_socket), |
52 read_socket_(read_socket), | 52 read_socket_(read_socket), |
53 done_(false), | 53 done_(false), |
54 write_errors_(0), | 54 write_errors_(0), |
55 read_errors_(0), | 55 read_errors_(0), |
56 packets_sent_(0), | 56 packets_sent_(0), |
57 packets_received_(0), | 57 packets_received_(0), |
58 broken_packets_(0) { | 58 broken_packets_(0) { |
59 } | 59 } |
60 | 60 |
61 virtual ~UdpChannelTester() { } | |
62 | |
63 void Start() { | 61 void Start() { |
64 message_loop_->PostTask( | 62 message_loop_->PostTask( |
65 FROM_HERE, base::Bind(&UdpChannelTester::DoStart, this)); | 63 FROM_HERE, base::Bind(&UdpChannelTester::DoStart, this)); |
66 } | 64 } |
67 | 65 |
68 void CheckResults() { | 66 void CheckResults() { |
69 EXPECT_EQ(0, write_errors_); | 67 EXPECT_EQ(0, write_errors_); |
70 EXPECT_EQ(0, read_errors_); | 68 EXPECT_EQ(0, read_errors_); |
71 | 69 |
72 EXPECT_EQ(0, broken_packets_); | 70 EXPECT_EQ(0, broken_packets_); |
73 | 71 |
74 // Verify that we've received at least one packet. | 72 // Verify that we've received at least one packet. |
75 EXPECT_GT(packets_received_, 0); | 73 EXPECT_GT(packets_received_, 0); |
76 LOG(INFO) << "Received " << packets_received_ << " packets out of " | 74 LOG(INFO) << "Received " << packets_received_ << " packets out of " |
77 << kMessages; | 75 << kMessages; |
78 } | 76 } |
79 | 77 |
80 protected: | 78 protected: |
| 79 friend class base::RefCountedThreadSafe<UdpChannelTester>; |
| 80 virtual ~UdpChannelTester() {} |
| 81 |
81 void Done() { | 82 void Done() { |
82 done_ = true; | 83 done_ = true; |
83 message_loop_->PostTask(FROM_HERE, MessageLoop::QuitClosure()); | 84 message_loop_->PostTask(FROM_HERE, MessageLoop::QuitClosure()); |
84 } | 85 } |
85 | 86 |
86 void DoStart() { | 87 void DoStart() { |
87 DoRead(); | 88 DoRead(); |
88 DoWrite(); | 89 DoWrite(); |
89 } | 90 } |
90 | 91 |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 net::Socket* write_socket, | 193 net::Socket* write_socket, |
193 net::Socket* read_socket) | 194 net::Socket* read_socket) |
194 : message_loop_(message_loop), | 195 : message_loop_(message_loop), |
195 write_socket_(write_socket), | 196 write_socket_(write_socket), |
196 read_socket_(read_socket), | 197 read_socket_(read_socket), |
197 done_(false), | 198 done_(false), |
198 write_errors_(0), | 199 write_errors_(0), |
199 read_errors_(0) { | 200 read_errors_(0) { |
200 } | 201 } |
201 | 202 |
202 virtual ~TcpChannelTester() { } | |
203 | |
204 void Init() { | 203 void Init() { |
205 // Initialize |send_buffer_|. | 204 // Initialize |send_buffer_|. |
206 send_buffer_ = new net::DrainableIOBuffer(new net::IOBuffer(kTcpDataSize), | 205 send_buffer_ = new net::DrainableIOBuffer(new net::IOBuffer(kTcpDataSize), |
207 kTcpDataSize); | 206 kTcpDataSize); |
208 for (int i = 0; i < kTcpDataSize; ++i) { | 207 for (int i = 0; i < kTcpDataSize; ++i) { |
209 send_buffer_->data()[i] = rand() % 256; | 208 send_buffer_->data()[i] = rand() % 256; |
210 } | 209 } |
211 } | 210 } |
212 | 211 |
213 void StartRead() { | 212 void StartRead() { |
(...skipping 12 matching lines...) Expand all Loading... |
226 | 225 |
227 EXPECT_EQ(0, send_buffer_->BytesRemaining()); | 226 EXPECT_EQ(0, send_buffer_->BytesRemaining()); |
228 | 227 |
229 send_buffer_->SetOffset(0); | 228 send_buffer_->SetOffset(0); |
230 EXPECT_EQ(kTcpDataSize, static_cast<int>(received_data_.size())); | 229 EXPECT_EQ(kTcpDataSize, static_cast<int>(received_data_.size())); |
231 EXPECT_EQ(0, memcmp(send_buffer_->data(), | 230 EXPECT_EQ(0, memcmp(send_buffer_->data(), |
232 &received_data_[0], received_data_.size())); | 231 &received_data_[0], received_data_.size())); |
233 } | 232 } |
234 | 233 |
235 protected: | 234 protected: |
| 235 friend class base::RefCountedThreadSafe<TcpChannelTester>; |
| 236 virtual ~TcpChannelTester() {} |
| 237 |
236 void Done() { | 238 void Done() { |
237 done_ = true; | 239 done_ = true; |
238 message_loop_->PostTask(FROM_HERE, MessageLoop::QuitClosure()); | 240 message_loop_->PostTask(FROM_HERE, MessageLoop::QuitClosure()); |
239 } | 241 } |
240 | 242 |
241 void DoWrite() { | 243 void DoWrite() { |
242 if (send_buffer_->BytesRemaining() == 0) { | 244 if (send_buffer_->BytesRemaining() == 0) { |
243 return; | 245 return; |
244 } | 246 } |
245 | 247 |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
519 P2PTransport::STATE_WRITABLE))) | 521 P2PTransport::STATE_WRITABLE))) |
520 .Times(Exactly(1)) | 522 .Times(Exactly(1)) |
521 .WillOnce(DoAll( | 523 .WillOnce(DoAll( |
522 InvokeWithoutArgs(this, &P2PTransportImplTest::DestroyTransport), | 524 InvokeWithoutArgs(this, &P2PTransportImplTest::DestroyTransport), |
523 InvokeWithoutArgs(&message_loop_, &MessageLoop::Quit))); | 525 InvokeWithoutArgs(&message_loop_, &MessageLoop::Quit))); |
524 | 526 |
525 message_loop_.Run(); | 527 message_loop_.Run(); |
526 } | 528 } |
527 | 529 |
528 } // namespace content | 530 } // namespace content |
OLD | NEW |