summaryrefslogtreecommitdiffstats
path: root/net/socket/socket_test_util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/socket/socket_test_util.cc')
-rw-r--r--net/socket/socket_test_util.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/net/socket/socket_test_util.cc b/net/socket/socket_test_util.cc
index ef10f76..18ece28 100644
--- a/net/socket/socket_test_util.cc
+++ b/net/socket/socket_test_util.cc
@@ -150,13 +150,17 @@ void MockTCPClientSocket::OnReadComplete(const MockRead& data) {
DCHECK_NE(ERR_IO_PENDING, data.result);
// Since we've been waiting for data, need_read_data_ should be true.
DCHECK(need_read_data_);
- // In order to fire the callback, this IO needs to be marked as async.
- DCHECK(data.async);
read_data_ = data;
need_read_data_ = false;
- CompleteRead();
+ // The caller is simulating that this IO completes right now. Don't
+ // let CompleteRead() schedule a callback.
+ read_data_.async = false;
+
+ net::CompletionCallback* callback = pending_callback_;
+ int rv = CompleteRead();
+ RunCallback(callback, rv);
}
int MockTCPClientSocket::CompleteRead() {