| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "google_apis/gcm/base/socket_stream.h" | 5 #include "google_apis/gcm/base/socket_stream.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/profiler/scoped_profile.h" |
| 9 #include "net/base/io_buffer.h" | 10 #include "net/base/io_buffer.h" |
| 10 #include "net/socket/stream_socket.h" | 11 #include "net/socket/stream_socket.h" |
| 11 | 12 |
| 12 namespace gcm { | 13 namespace gcm { |
| 13 | 14 |
| 14 namespace { | 15 namespace { |
| 15 | 16 |
| 16 // TODO(zea): consider having dynamically-sized buffers if this becomes too | 17 // TODO(zea): consider having dynamically-sized buffers if this becomes too |
| 17 // expensive. | 18 // expensive. |
| 18 const uint32 kDefaultBufferSize = 8*1024; | 19 const uint32 kDefaultBufferSize = 8*1024; |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 | 156 |
| 156 DCHECK_EQ(last_error_, net::OK); | 157 DCHECK_EQ(last_error_, net::OK); |
| 157 if (read_buffer_->BytesConsumed() == next_pos_) | 158 if (read_buffer_->BytesConsumed() == next_pos_) |
| 158 return EMPTY; | 159 return EMPTY; |
| 159 | 160 |
| 160 return READY; | 161 return READY; |
| 161 } | 162 } |
| 162 | 163 |
| 163 void SocketInputStream::RefreshCompletionCallback( | 164 void SocketInputStream::RefreshCompletionCallback( |
| 164 const base::Closure& callback, int result) { | 165 const base::Closure& callback, int result) { |
| 166 // TODO(vadimt): Remove ScopedProfile below once crbug.com/418183 is fixed. |
| 167 tracked_objects::ScopedProfile tracking_profile( |
| 168 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 169 "418183 DoReadCallback => SocketInputStream::RefreshCompletionC...")); |
| 170 |
| 165 // If an error occurred before the completion callback could complete, ignore | 171 // If an error occurred before the completion callback could complete, ignore |
| 166 // the result. | 172 // the result. |
| 167 if (GetState() == CLOSED) | 173 if (GetState() == CLOSED) |
| 168 return; | 174 return; |
| 169 | 175 |
| 170 // Result == 0 implies EOF, which is treated as an error. | 176 // Result == 0 implies EOF, which is treated as an error. |
| 171 if (result == 0) | 177 if (result == 0) |
| 172 result = net::ERR_CONNECTION_CLOSED; | 178 result = net::ERR_CONNECTION_CLOSED; |
| 173 | 179 |
| 174 DCHECK_NE(result, net::ERR_IO_PENDING); | 180 DCHECK_NE(result, net::ERR_IO_PENDING); |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 } | 334 } |
| 329 | 335 |
| 330 DVLOG(1) << "Socket flush complete."; | 336 DVLOG(1) << "Socket flush complete."; |
| 331 write_buffer_->SetOffset(0); | 337 write_buffer_->SetOffset(0); |
| 332 next_pos_ = 0; | 338 next_pos_ = 0; |
| 333 if (!callback.is_null()) | 339 if (!callback.is_null()) |
| 334 callback.Run(); | 340 callback.Run(); |
| 335 } | 341 } |
| 336 | 342 |
| 337 } // namespace gcm | 343 } // namespace gcm |
| OLD | NEW |