| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "chrome/browser/net/network_stats.h" | 5 #include "chrome/browser/net/network_stats.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/metrics/field_trial.h" | 10 #include "base/metrics/field_trial.h" |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 read_buffer_ = new net::IOBuffer(kMaxMessageSize); | 326 read_buffer_ = new net::IOBuffer(kMaxMessageSize); |
| 327 | 327 |
| 328 rv = socket_->Read( | 328 rv = socket_->Read( |
| 329 read_buffer_.get(), | 329 read_buffer_.get(), |
| 330 kMaxMessageSize, | 330 kMaxMessageSize, |
| 331 base::Bind(&NetworkStats::OnReadComplete, weak_factory_.GetWeakPtr())); | 331 base::Bind(&NetworkStats::OnReadComplete, weak_factory_.GetWeakPtr())); |
| 332 if (rv <= 0) | 332 if (rv <= 0) |
| 333 break; | 333 break; |
| 334 if (ReadComplete(rv)) | 334 if (ReadComplete(rv)) |
| 335 return rv; | 335 return rv; |
| 336 }; | 336 } |
| 337 if (rv == net::ERR_IO_PENDING) | 337 if (rv == net::ERR_IO_PENDING) |
| 338 read_state_ = READ_STATE_READ_PENDING; | 338 read_state_ = READ_STATE_READ_PENDING; |
| 339 return rv; | 339 return rv; |
| 340 } | 340 } |
| 341 | 341 |
| 342 void NetworkStats::OnReadComplete(int result) { | 342 void NetworkStats::OnReadComplete(int result) { |
| 343 DCHECK_NE(net::ERR_IO_PENDING, result); | 343 DCHECK_NE(net::ERR_IO_PENDING, result); |
| 344 DCHECK_EQ(READ_STATE_READ_PENDING, read_state_); | 344 DCHECK_EQ(READ_STATE_READ_PENDING, read_state_); |
| 345 | 345 |
| 346 read_state_ = READ_STATE_IDLE; | 346 read_state_ = READ_STATE_IDLE; |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 471 return bytes_written; | 471 return bytes_written; |
| 472 } | 472 } |
| 473 UpdateSendBuffer(bytes_written); | 473 UpdateSendBuffer(bytes_written); |
| 474 return net::OK; | 474 return net::OK; |
| 475 } | 475 } |
| 476 | 476 |
| 477 void NetworkStats::OnWriteComplete(int result) { | 477 void NetworkStats::OnWriteComplete(int result) { |
| 478 DCHECK_NE(net::ERR_IO_PENDING, result); | 478 DCHECK_NE(net::ERR_IO_PENDING, result); |
| 479 DCHECK_EQ(WRITE_STATE_WRITE_PENDING, write_state_); | 479 DCHECK_EQ(WRITE_STATE_WRITE_PENDING, write_state_); |
| 480 write_state_ = WRITE_STATE_IDLE; | 480 write_state_ = WRITE_STATE_IDLE; |
| 481 if (result < 0 || !socket_.get() || write_buffer_ == NULL) { | 481 if (result < 0 || !socket_.get() || write_buffer_.get() == NULL) { |
| 482 TestPhaseComplete(WRITE_FAILED, result); | 482 TestPhaseComplete(WRITE_FAILED, result); |
| 483 return; | 483 return; |
| 484 } | 484 } |
| 485 UpdateSendBuffer(result); | 485 UpdateSendBuffer(result); |
| 486 } | 486 } |
| 487 | 487 |
| 488 void NetworkStats::UpdateSendBuffer(int bytes_sent) { | 488 void NetworkStats::UpdateSendBuffer(int bytes_sent) { |
| 489 write_buffer_->DidConsume(bytes_sent); | 489 write_buffer_->DidConsume(bytes_sent); |
| 490 DCHECK_EQ(write_buffer_->BytesRemaining(), 0); | 490 DCHECK_EQ(write_buffer_->BytesRemaining(), 0); |
| 491 DCHECK_EQ(WRITE_STATE_IDLE, write_state_); | 491 DCHECK_EQ(WRITE_STATE_IDLE, write_state_); |
| (...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 950 udp_stats_client->Start(host_resolver, | 950 udp_stats_client->Start(host_resolver, |
| 951 server_address, | 951 server_address, |
| 952 histogram_port, | 952 histogram_port, |
| 953 has_proxy_server, | 953 has_proxy_server, |
| 954 kProbePacketBytes[probe_choice], | 954 kProbePacketBytes[probe_choice], |
| 955 bytes_for_packet_size_test, | 955 bytes_for_packet_size_test, |
| 956 net::CompletionCallback()); | 956 net::CompletionCallback()); |
| 957 } | 957 } |
| 958 | 958 |
| 959 } // namespace chrome_browser_net | 959 } // namespace chrome_browser_net |
| OLD | NEW |