Index: net/socket/socket_test_util.h |
diff --git a/net/socket/socket_test_util.h b/net/socket/socket_test_util.h |
index fec7819d0e95661ad6a8e223b9d10862aeba73a7..075073bb41079e5befde7e5f68b68cffcb62b039 100644 |
--- a/net/socket/socket_test_util.h |
+++ b/net/socket/socket_test_util.h |
@@ -518,6 +518,11 @@ class MockClientSocketFactory : public ClientSocketFactory { |
return mock_data_; |
} |
+ // If |enable_read_if_ready|, ReadIfReady() will be implemented. |
+ void set_enable_read_if_ready(bool enable_read_if_ready) { |
+ enable_read_if_ready_ = enable_read_if_ready; |
+ } |
+ |
// ClientSocketFactory |
std::unique_ptr<DatagramClientSocket> CreateDatagramClientSocket( |
DatagramSocket::BindType bind_type, |
@@ -545,6 +550,7 @@ class MockClientSocketFactory : public ClientSocketFactory { |
SocketDataProviderArray<SSLSocketDataProvider> mock_ssl_data_; |
std::vector<uint16_t> udp_client_socket_ports_; |
+ bool enable_read_if_ready_; |
DISALLOW_COPY_AND_ASSIGN(MockClientSocketFactory); |
}; |
@@ -627,6 +633,9 @@ class MockTCPClientSocket : public MockClientSocket, public AsyncSocket { |
int Read(IOBuffer* buf, |
int buf_len, |
const CompletionCallback& callback) override; |
+ int ReadIfReady(IOBuffer* buf, |
+ int buf_len, |
+ const CompletionCallback& callback) override; |
int Write(IOBuffer* buf, |
int buf_len, |
const CompletionCallback& callback) override; |
@@ -650,9 +659,16 @@ class MockTCPClientSocket : public MockClientSocket, public AsyncSocket { |
void OnConnectComplete(const MockConnect& data) override; |
void OnDataProviderDestroyed() override; |
- private: |
- int CompleteRead(); |
+ // If |enable_read_if_ready|, ReadIfReady() will be implemented. |
+ void set_enable_read_if_ready(bool enable_read_if_ready) { |
+ enable_read_if_ready_ = enable_read_if_ready; |
+ } |
+ private: |
+ void RetryRead(int rv); |
+ int ReadIfReadyHelper(IOBuffer* buf, |
+ int buf_len, |
+ const CompletionCallback& callback); |
AddressList addresses_; |
SocketDataProvider* data_; |
@@ -668,10 +684,15 @@ class MockTCPClientSocket : public MockClientSocket, public AsyncSocket { |
// While an asynchronous read is pending, we save our user-buffer state. |
scoped_refptr<IOBuffer> pending_read_buf_; |
int pending_read_buf_len_; |
- CompletionCallback pending_connect_callback_; |
CompletionCallback pending_read_callback_; |
+ |
+ // Non-null when a ReadIfReady() is pending. |
+ CompletionCallback pending_read_if_ready_callback_; |
+ |
+ CompletionCallback pending_connect_callback_; |
CompletionCallback pending_write_callback_; |
bool was_used_to_convey_data_; |
+ bool enable_read_if_ready_; |
ConnectionAttempts connection_attempts_; |
@@ -690,6 +711,9 @@ class MockSSLClientSocket : public MockClientSocket, public AsyncSocket { |
int Read(IOBuffer* buf, |
int buf_len, |
const CompletionCallback& callback) override; |
+ int ReadIfReady(IOBuffer* buf, |
+ int buf_len, |
+ const CompletionCallback& callback) override; |
int Write(IOBuffer* buf, |
int buf_len, |
const CompletionCallback& callback) override; |