| Index: components/proximity_auth/connection.cc
|
| diff --git a/components/proximity_auth/connection.cc b/components/proximity_auth/connection.cc
|
| index 5a35e4dd21f05cf04c9358225ea1abc05fca0274..65f6dd6d74e770bea85c5d0acb0c24c02f755ff3 100644
|
| --- a/components/proximity_auth/connection.cc
|
| +++ b/components/proximity_auth/connection.cc
|
| @@ -77,25 +77,26 @@ void Connection::OnBytesReceived(const std::string& bytes) {
|
| }
|
|
|
| received_bytes_ += bytes;
|
| - if (HasReceivedCompleteMessage()) {
|
| - scoped_ptr<WireMessage> message = DeserializeWireMessage();
|
| - if (message) {
|
| - FOR_EACH_OBSERVER(
|
| - ConnectionObserver, observers_, OnMessageReceived(*this, *message));
|
| - }
|
| -
|
| - // Whether the message was parsed successfully or not, clear the
|
| - // |received_bytes_| buffer.
|
| - received_bytes_.clear();
|
| +
|
| + bool is_incomplete_message;
|
| + scoped_ptr<WireMessage> message =
|
| + DeserializeWireMessage(&is_incomplete_message);
|
| + if (is_incomplete_message)
|
| + return;
|
| +
|
| + if (message) {
|
| + FOR_EACH_OBSERVER(
|
| + ConnectionObserver, observers_, OnMessageReceived(*this, *message));
|
| }
|
| -}
|
|
|
| -bool Connection::HasReceivedCompleteMessage() {
|
| - return WireMessage::IsCompleteMessage(received_bytes_);
|
| + // Whether the message was parsed successfully or not, clear the
|
| + // |received_bytes_| buffer.
|
| + received_bytes_.clear();
|
| }
|
|
|
| -scoped_ptr<WireMessage> Connection::DeserializeWireMessage() {
|
| - return WireMessage::Deserialize(received_bytes_);
|
| +scoped_ptr<WireMessage> Connection::DeserializeWireMessage(
|
| + bool* is_incomplete_message) {
|
| + return WireMessage::Deserialize(received_bytes_, is_incomplete_message);
|
| }
|
|
|
| } // namespace proximity_auth
|
|
|