Index: net/test/spawned_test_server/spawner_communicator.cc |
diff --git a/net/test/spawned_test_server/spawner_communicator.cc b/net/test/spawned_test_server/spawner_communicator.cc |
index 3a1566db4cfd4928b727e83711ece46de357dffb..952b85c74bf76cf4096fe88d2bd31cc0a6bf7e6e 100644 |
--- a/net/test/spawned_test_server/spawner_communicator.cc |
+++ b/net/test/spawned_test_server/spawner_communicator.cc |
@@ -228,14 +228,12 @@ |
if (!data->DoesRequestIdMatch(id)) |
return; |
// Set the result code and cancel the timed-out task. |
- int result = cur_request_->CancelWithError(ERR_TIMED_OUT); |
- OnSpawnerCommandCompleted(cur_request_.get(), result); |
-} |
- |
-void SpawnerCommunicator::OnSpawnerCommandCompleted(URLRequest* request, |
- int net_error) { |
- DCHECK_NE(ERR_IO_PENDING, net_error); |
- |
+ data->SetResultCode(ERR_TIMED_OUT); |
+ cur_request_->Cancel(); |
+ OnSpawnerCommandCompleted(cur_request_.get()); |
+} |
+ |
+void SpawnerCommunicator::OnSpawnerCommandCompleted(URLRequest* request) { |
if (!cur_request_.get()) |
return; |
DCHECK_EQ(request, cur_request_.get()); |
@@ -244,11 +242,13 @@ |
DCHECK(data); |
// If request is faild,return the error code. |
- if (net_error != OK) |
- data->SetResultCode(net_error); |
+ if (!cur_request_->status().is_success()) |
+ data->SetResultCode(cur_request_->status().error()); |
if (!data->IsResultOK()) { |
- LOG(ERROR) << "request failed, error: " << net_error; |
+ LOG(ERROR) << "request failed, status: " |
+ << static_cast<int>(request->status().status()) |
+ << ", error: " << request->status().error(); |
// Clear the buffer of received data if any net error happened. |
data->ClearReceivedData(); |
} else { |
@@ -275,35 +275,30 @@ |
IOBuffer* buf = data->buf(); |
// Read as many bytes as are available synchronously. |
while (true) { |
- int rv = request->Read(buf, kBufferSize); |
- if (rv == ERR_IO_PENDING) |
- return; |
- |
- if (rv < 0) { |
- OnSpawnerCommandCompleted(request, rv); |
+ int num_bytes; |
+ if (!request->Read(buf, kBufferSize, &num_bytes)) { |
+ // Check whether the read failed synchronously. |
+ if (!request->status().is_io_pending()) |
+ OnSpawnerCommandCompleted(request); |
return; |
} |
- |
- if (!data->ConsumeBytesRead(rv)) { |
- OnSpawnerCommandCompleted(request, rv); |
+ if (!data->ConsumeBytesRead(num_bytes)) { |
+ OnSpawnerCommandCompleted(request); |
return; |
} |
} |
} |
-void SpawnerCommunicator::OnResponseStarted(URLRequest* request, |
- int net_error) { |
+void SpawnerCommunicator::OnResponseStarted(URLRequest* request) { |
DCHECK_EQ(request, cur_request_.get()); |
- DCHECK_NE(ERR_IO_PENDING, net_error); |
- |
SpawnerRequestData* data = |
static_cast<SpawnerRequestData*>(cur_request_->GetUserData(this)); |
DCHECK(data); |
data->IncreaseResponseStartedCount(); |
- if (net_error != OK) { |
- OnSpawnerCommandCompleted(request, net_error); |
+ if (!request->status().is_success()) { |
+ OnSpawnerCommandCompleted(request); |
return; |
} |
@@ -313,7 +308,7 @@ |
<< request->response_headers()->GetStatusLine(); |
data->SetResultCode(ERR_FAILED); |
request->Cancel(); |
- OnSpawnerCommandCompleted(request, ERR_ABORTED); |
+ OnSpawnerCommandCompleted(request); |
return; |
} |
@@ -321,8 +316,6 @@ |
} |
void SpawnerCommunicator::OnReadCompleted(URLRequest* request, int num_bytes) { |
- DCHECK_NE(ERR_IO_PENDING, num_bytes); |
- |
if (!cur_request_.get()) |
return; |
DCHECK_EQ(request, cur_request_.get()); |
@@ -334,9 +327,7 @@ |
// Keep reading. |
ReadResult(request); |
} else { |
- // |bytes_read| < 0 |
- int net_error = num_bytes; |
- OnSpawnerCommandCompleted(request, net_error); |
+ OnSpawnerCommandCompleted(request); |
} |
} |