| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "extensions/browser/api/cast_channel/cast_transport.h" | 5 #include "extensions/browser/api/cast_channel/cast_transport.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/format_macros.h" | 10 #include "base/format_macros.h" |
| (...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 395 VLOG_WITH_CONNECTION(2) << "DoReadComplete result = " << result; | 395 VLOG_WITH_CONNECTION(2) << "DoReadComplete result = " << result; |
| 396 | 396 |
| 397 if (result <= 0) { | 397 if (result <= 0) { |
| 398 VLOG_WITH_CONNECTION(1) << "Read error, peer closed the socket."; | 398 VLOG_WITH_CONNECTION(1) << "Read error, peer closed the socket."; |
| 399 SetErrorState(CHANNEL_ERROR_SOCKET_ERROR); | 399 SetErrorState(CHANNEL_ERROR_SOCKET_ERROR); |
| 400 SetReadState(READ_STATE_ERROR); | 400 SetReadState(READ_STATE_ERROR); |
| 401 return result == 0 ? net::ERR_FAILED : result; | 401 return result == 0 ? net::ERR_FAILED : result; |
| 402 } | 402 } |
| 403 | 403 |
| 404 size_t message_size; | 404 size_t message_size; |
| 405 DCHECK(current_message_.get() == NULL); | 405 DCHECK(!current_message_); |
| 406 ChannelError framing_error; | 406 ChannelError framing_error; |
| 407 current_message_ = framer_->Ingest(result, &message_size, &framing_error); | 407 current_message_ = framer_->Ingest(result, &message_size, &framing_error); |
| 408 if (current_message_.get() && (framing_error == CHANNEL_ERROR_NONE)) { | 408 if (current_message_.get() && (framing_error == CHANNEL_ERROR_NONE)) { |
| 409 DCHECK_GT(message_size, static_cast<size_t>(0)); | 409 DCHECK_GT(message_size, static_cast<size_t>(0)); |
| 410 logger_->LogSocketEventForMessage( | 410 logger_->LogSocketEventForMessage( |
| 411 channel_id_, proto::MESSAGE_READ, current_message_->namespace_(), | 411 channel_id_, proto::MESSAGE_READ, current_message_->namespace_(), |
| 412 base::StringPrintf("Message size: %u", | 412 base::StringPrintf("Message size: %u", |
| 413 static_cast<uint32>(message_size))); | 413 static_cast<uint32>(message_size))); |
| 414 SetReadState(READ_STATE_DO_CALLBACK); | 414 SetReadState(READ_STATE_DO_CALLBACK); |
| 415 } else if (framing_error != CHANNEL_ERROR_NONE) { | 415 } else if (framing_error != CHANNEL_ERROR_NONE) { |
| 416 DCHECK(current_message_.get() == NULL); | 416 DCHECK(!current_message_); |
| 417 SetErrorState(CHANNEL_ERROR_INVALID_MESSAGE); | 417 SetErrorState(CHANNEL_ERROR_INVALID_MESSAGE); |
| 418 SetReadState(READ_STATE_ERROR); | 418 SetReadState(READ_STATE_ERROR); |
| 419 } else { | 419 } else { |
| 420 DCHECK(current_message_.get() == NULL); | 420 DCHECK(!current_message_); |
| 421 SetReadState(READ_STATE_READ); | 421 SetReadState(READ_STATE_READ); |
| 422 } | 422 } |
| 423 return net::OK; | 423 return net::OK; |
| 424 } | 424 } |
| 425 | 425 |
| 426 int CastTransportImpl::DoReadCallback() { | 426 int CastTransportImpl::DoReadCallback() { |
| 427 VLOG_WITH_CONNECTION(2) << "DoReadCallback"; | 427 VLOG_WITH_CONNECTION(2) << "DoReadCallback"; |
| 428 if (!IsCastMessageValid(*current_message_)) { | 428 if (!IsCastMessageValid(*current_message_)) { |
| 429 SetReadState(READ_STATE_ERROR); | 429 SetReadState(READ_STATE_ERROR); |
| 430 SetErrorState(CHANNEL_ERROR_INVALID_MESSAGE); | 430 SetErrorState(CHANNEL_ERROR_INVALID_MESSAGE); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 443 int CastTransportImpl::DoReadError(int result) { | 443 int CastTransportImpl::DoReadError(int result) { |
| 444 VLOG_WITH_CONNECTION(2) << "DoReadError"; | 444 VLOG_WITH_CONNECTION(2) << "DoReadError"; |
| 445 DCHECK_NE(CHANNEL_ERROR_NONE, error_state_); | 445 DCHECK_NE(CHANNEL_ERROR_NONE, error_state_); |
| 446 DCHECK_LE(result, 0); | 446 DCHECK_LE(result, 0); |
| 447 return net::ERR_FAILED; | 447 return net::ERR_FAILED; |
| 448 } | 448 } |
| 449 | 449 |
| 450 } // namespace cast_channel | 450 } // namespace cast_channel |
| 451 } // namespace core_api | 451 } // namespace core_api |
| 452 } // namespace extensions | 452 } // namespace extensions |
| OLD | NEW |