Index: blimp/net/blimp_message_pump.cc |
diff --git a/blimp/net/blimp_message_pump.cc b/blimp/net/blimp_message_pump.cc |
index 14d8d2eec875d712d06741ff198a333ac99d4460..b6d0724c3eb04621573214cce61cf4a5b7212995 100644 |
--- a/blimp/net/blimp_message_pump.cc |
+++ b/blimp/net/blimp_message_pump.cc |
@@ -40,36 +40,32 @@ void BlimpMessagePump::ReadNextPacket() { |
buffer_->set_offset(0); |
read_packet_callback_.Reset(base::Bind( |
&BlimpMessagePump::OnReadPacketComplete, base::Unretained(this))); |
- int result = |
- reader_->ReadPacket(buffer_.get(), read_packet_callback_.callback()); |
- if (result != net::ERR_IO_PENDING) { |
- // Read completed synchronously. |
- OnReadPacketComplete(result); |
- } |
+ reader_->ReadPacket(buffer_.get(), read_packet_callback_.callback()); |
Wez
2015/11/30 21:33:24
See my other comment re cancellable callbacks.
Kevin M
2015/12/01 01:50:27
Done.
|
} |
void BlimpMessagePump::OnReadPacketComplete(int result) { |
- if (result > 0) { |
- // The result is the size of the packet in bytes. |
+ if (result == net::OK) { |
scoped_ptr<BlimpMessage> message(new BlimpMessage); |
- bool parse_result = |
- message->ParseFromArray(buffer_->StartOfBuffer(), result); |
- if (parse_result) { |
+ if (message->ParseFromArray(buffer_->StartOfBuffer(), buffer_->offset())) { |
process_msg_callback_.Reset(base::Bind( |
&BlimpMessagePump::OnProcessMessageComplete, base::Unretained(this))); |
processor_->ProcessMessage(message.Pass(), |
process_msg_callback_.callback()); |
return; |
+ } else { |
Wez
2015/11/30 21:33:24
Never use constructs of the form if (condition) {
Kevin M
2015/12/01 01:50:27
Done.
|
+ result = net::ERR_FAILED; |
} |
- result = net::ERR_FAILED; |
} |
+ |
+ // Error reporting. |
+ DCHECK_NE(net::OK, result); |
if (error_observer_) |
error_observer_->OnConnectionError(result); |
} |
void BlimpMessagePump::OnProcessMessageComplete(int result) { |
// No error is expected from the message receiver. |
- DCHECK_EQ(result, net::OK); |
+ DCHECK_EQ(net::OK, result); |
ReadNextPacket(); |
} |