| 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..ff15849a690e45c9525c88684811c0e81d578de6 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,8 +659,17 @@ class MockTCPClientSocket : public MockClientSocket, public AsyncSocket {
|
| void OnConnectComplete(const MockConnect& data) override;
|
| void OnDataProviderDestroyed() override;
|
|
|
| + // 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:
|
| - int CompleteRead();
|
| + void RetryRead(int rv);
|
| + int ReadIfReadyHelper(IOBuffer* buf,
|
| + int buf_len,
|
| + const CompletionCallback& callback);
|
| + void RunReadIfReadyCallback(int result);
|
|
|
| AddressList addresses_;
|
|
|
| @@ -668,13 +686,20 @@ 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_;
|
|
|
| + base::WeakPtrFactory<MockTCPClientSocket> weak_factory_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(MockTCPClientSocket);
|
| };
|
|
|
| @@ -690,6 +715,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;
|
|
|