Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(643)

Unified Diff: net/socket/socket_test_util.h

Issue 6341004: More net/ reordering. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Window gyp dependency Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/proxy/multi_threaded_proxy_resolver_unittest.cc ('k') | net/socket/socket_test_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/socket/socket_test_util.h
diff --git a/net/socket/socket_test_util.h b/net/socket/socket_test_util.h
index 1e09708a3d2622521360047dbf5b6027b7956bf0..4a15f37c060c6fe9a3f350b94f5e77e1ca36b736 100644
--- a/net/socket/socket_test_util.h
+++ b/net/socket/socket_test_util.h
@@ -182,11 +182,12 @@ class StaticSocketDataProvider : public SocketDataProvider {
bool at_read_eof() const { return read_index_ >= read_count_; }
bool at_write_eof() const { return write_index_ >= write_count_; }
+ virtual void CompleteRead() {}
+
// SocketDataProvider methods:
virtual MockRead GetNextRead();
virtual MockWriteResult OnWrite(const std::string& data);
virtual void Reset();
- virtual void CompleteRead() {}
private:
MockRead* reads_;
@@ -208,16 +209,16 @@ class DynamicSocketDataProvider : public SocketDataProvider {
DynamicSocketDataProvider();
virtual ~DynamicSocketDataProvider();
- // SocketDataProvider methods:
- virtual MockRead GetNextRead();
- virtual MockWriteResult OnWrite(const std::string& data) = 0;
- virtual void Reset();
-
int short_read_limit() const { return short_read_limit_; }
void set_short_read_limit(int limit) { short_read_limit_ = limit; }
void allow_unconsumed_reads(bool allow) { allow_unconsumed_reads_ = allow; }
+ // SocketDataProvider methods:
+ virtual MockRead GetNextRead();
+ virtual MockWriteResult OnWrite(const std::string& data) = 0;
+ virtual void Reset();
+
protected:
// The next time there is a read from this socket, it will return |data|.
// Before calling SimulateRead next time, the previous data must be consumed.
@@ -284,11 +285,13 @@ class DelayedSocketData : public StaticSocketDataProvider,
MockWrite* writes, size_t writes_count);
~DelayedSocketData();
+ void ForceNextRead();
+
+ // StaticSocketDataProvider:
virtual MockRead GetNextRead();
virtual MockWriteResult OnWrite(const std::string& data);
virtual void Reset();
virtual void CompleteRead();
- void ForceNextRead();
private:
int write_delay_;
@@ -327,11 +330,6 @@ class OrderedSocketData : public StaticSocketDataProvider,
MockRead* reads, size_t reads_count,
MockWrite* writes, size_t writes_count);
- virtual MockRead GetNextRead();
- virtual MockWriteResult OnWrite(const std::string& data);
- virtual void Reset();
- virtual void CompleteRead();
-
void SetCompletionCallback(CompletionCallback* callback) {
callback_ = callback;
}
@@ -339,6 +337,12 @@ class OrderedSocketData : public StaticSocketDataProvider,
// Posts a quit message to the current message loop, if one is running.
void EndLoop();
+ // StaticSocketDataProvider:
+ virtual MockRead GetNextRead();
+ virtual MockWriteResult OnWrite(const std::string& data);
+ virtual void Reset();
+ virtual void CompleteRead();
+
private:
friend class base::RefCounted<OrderedSocketData>;
virtual ~OrderedSocketData();
@@ -416,19 +420,7 @@ class DeterministicSocketData : public StaticSocketDataProvider,
// |writes| the list of MockWrite completions.
DeterministicSocketData(MockRead* reads, size_t reads_count,
MockWrite* writes, size_t writes_count);
-
- // When the socket calls Read(), that calls GetNextRead(), and expects either
- // ERR_IO_PENDING or data.
- virtual MockRead GetNextRead();
-
- // When the socket calls Write(), it always completes synchronously. OnWrite()
- // checks to make sure the written data matches the expected data. The
- // callback will not be invoked until its sequence number is reached.
- virtual MockWriteResult OnWrite(const std::string& data);
-
- virtual void Reset();
-
- virtual void CompleteRead() {}
+ virtual ~DeterministicSocketData();
// Consume all the data up to the give stop point (via SetStop()).
void Run();
@@ -437,16 +429,10 @@ class DeterministicSocketData : public StaticSocketDataProvider,
void RunFor(int steps);
// Stop at step |seq|, which must be in the future.
- virtual void SetStop(int seq) {
- DCHECK_LT(sequence_number_, seq);
- stopping_sequence_number_ = seq;
- stopped_ = false;
- }
+ virtual void SetStop(int seq);
// Stop |seq| steps after the current step.
- virtual void StopAfter(int seq) {
- SetStop(sequence_number_ + seq);
- }
+ virtual void StopAfter(int seq);
bool stopped() const { return stopped_; }
void SetStopped(bool val) { stopped_ = val; }
MockRead& current_read() { return current_read_; }
@@ -456,6 +442,19 @@ class DeterministicSocketData : public StaticSocketDataProvider,
socket_ = socket;
}
+ // StaticSocketDataProvider:
+
+ // When the socket calls Read(), that calls GetNextRead(), and expects either
+ // ERR_IO_PENDING or data.
+ virtual MockRead GetNextRead();
+
+ // When the socket calls Write(), it always completes synchronously. OnWrite()
+ // checks to make sure the written data matches the expected data. The
+ // callback will not be invoked until its sequence number is reached.
+ virtual MockWriteResult OnWrite(const std::string& data);
+ virtual void Reset();
+ virtual void CompleteRead() {}
+
private:
// Invoke the read and write callbacks, if the timing is appropriate.
void InvokeCallbacks();
@@ -471,7 +470,6 @@ class DeterministicSocketData : public StaticSocketDataProvider,
bool print_debug_;
};
-
// Holds an array of SocketDataProvider elements. As Mock{TCP,SSL}ClientSocket
// objects get instantiated, they take their data from the i'th element of this
// array.
@@ -529,6 +527,13 @@ class MockClientSocketFactory : public ClientSocketFactory {
// created.
MockSSLClientSocket* GetMockSSLClientSocket(size_t index) const;
+ SocketDataProviderArray<SocketDataProvider>& mock_data() {
+ return mock_data_;
+ }
+ std::vector<MockTCPClientSocket*>& tcp_client_sockets() {
+ return tcp_client_sockets_;
+ }
+
// ClientSocketFactory
virtual ClientSocket* CreateTCPClientSocket(
const AddressList& addresses,
@@ -541,12 +546,6 @@ class MockClientSocketFactory : public ClientSocketFactory {
SSLHostInfo* ssl_host_info,
CertVerifier* cert_verifier,
DnsCertProvenanceChecker* dns_cert_checker);
- SocketDataProviderArray<SocketDataProvider>& mock_data() {
- return mock_data_;
- }
- std::vector<MockTCPClientSocket*>& tcp_client_sockets() {
- return tcp_client_sockets_;
- }
private:
SocketDataProviderArray<SocketDataProvider> mock_data_;
@@ -560,13 +559,29 @@ class MockClientSocketFactory : public ClientSocketFactory {
class MockClientSocket : public net::SSLClientSocket {
public:
explicit MockClientSocket(net::NetLog* net_log);
+
+ // If an async IO is pending because the SocketDataProvider returned
+ // ERR_IO_PENDING, then the MockClientSocket waits until this OnReadComplete
+ // is called to complete the asynchronous read operation.
+ // data.async is ignored, and this read is completed synchronously as
+ // part of this call.
+ virtual void OnReadComplete(const MockRead& data) = 0;
+
+ // Socket methods:
+ virtual int Read(net::IOBuffer* buf, int buf_len,
+ net::CompletionCallback* callback) = 0;
+ virtual int Write(net::IOBuffer* buf, int buf_len,
+ net::CompletionCallback* callback) = 0;
+ virtual bool SetReceiveBufferSize(int32 size);
+ virtual bool SetSendBufferSize(int32 size);
+
// ClientSocket methods:
virtual int Connect(net::CompletionCallback* callback) = 0;
virtual void Disconnect();
virtual bool IsConnected() const;
virtual bool IsConnectedAndIdle() const;
virtual int GetPeerAddress(AddressList* address) const;
- virtual const BoundNetLog& NetLog() const { return net_log_;}
+ virtual const BoundNetLog& NetLog() const;
virtual void SetSubresourceSpeculation() {}
virtual void SetOmniboxSpeculation() {}
@@ -576,23 +591,8 @@ class MockClientSocket : public net::SSLClientSocket {
net::SSLCertRequestInfo* cert_request_info);
virtual NextProtoStatus GetNextProto(std::string* proto);
- // Socket methods:
- virtual int Read(net::IOBuffer* buf, int buf_len,
- net::CompletionCallback* callback) = 0;
- virtual int Write(net::IOBuffer* buf, int buf_len,
- net::CompletionCallback* callback) = 0;
- virtual bool SetReceiveBufferSize(int32 size) { return true; }
- virtual bool SetSendBufferSize(int32 size) { return true; }
-
- // If an async IO is pending because the SocketDataProvider returned
- // ERR_IO_PENDING, then the MockClientSocket waits until this OnReadComplete
- // is called to complete the asynchronous read operation.
- // data.async is ignored, and this read is completed synchronously as
- // part of this call.
- virtual void OnReadComplete(const MockRead& data) = 0;
-
protected:
- virtual ~MockClientSocket() {}
+ virtual ~MockClientSocket();
void RunCallbackAsync(net::CompletionCallback* callback, int result);
void RunCallback(net::CompletionCallback*, int result);
@@ -609,13 +609,7 @@ class MockTCPClientSocket : public MockClientSocket {
MockTCPClientSocket(const net::AddressList& addresses, net::NetLog* net_log,
net::SocketDataProvider* socket);
- // ClientSocket methods:
- virtual int Connect(net::CompletionCallback* callback);
- virtual void Disconnect();
- virtual bool IsConnected() const;
- virtual bool IsConnectedAndIdle() const { return IsConnected(); }
- virtual bool WasEverUsed() const { return was_used_to_convey_data_; }
- virtual bool UsingTCPFastOpen() const { return false; }
+ net::AddressList addresses() const { return addresses_; }
// Socket methods:
virtual int Read(net::IOBuffer* buf, int buf_len,
@@ -623,9 +617,16 @@ class MockTCPClientSocket : public MockClientSocket {
virtual int Write(net::IOBuffer* buf, int buf_len,
net::CompletionCallback* callback);
- virtual void OnReadComplete(const MockRead& data);
+ // ClientSocket methods:
+ virtual int Connect(net::CompletionCallback* callback);
+ virtual void Disconnect();
+ virtual bool IsConnected() const;
+ virtual bool IsConnectedAndIdle() const;
+ virtual bool WasEverUsed() const;
+ virtual bool UsingTCPFastOpen() const;
- net::AddressList addresses() const { return addresses_; }
+ // MockClientSocket:
+ virtual void OnReadComplete(const MockRead& data);
private:
int CompleteRead();
@@ -654,27 +655,30 @@ class DeterministicMockTCPClientSocket : public MockClientSocket,
public:
DeterministicMockTCPClientSocket(net::NetLog* net_log,
net::DeterministicSocketData* data);
+ virtual ~DeterministicMockTCPClientSocket();
- // ClientSocket methods:
- virtual int Connect(net::CompletionCallback* callback);
- virtual void Disconnect();
- virtual bool IsConnected() const;
- virtual bool IsConnectedAndIdle() const { return IsConnected(); }
- virtual bool WasEverUsed() const { return was_used_to_convey_data_; }
- virtual bool UsingTCPFastOpen() const { return false; }
+ bool write_pending() const { return write_pending_; }
+ bool read_pending() const { return read_pending_; }
- // Socket methods:
+ void CompleteWrite();
+ int CompleteRead();
+
+ // Socket:
virtual int Write(net::IOBuffer* buf, int buf_len,
net::CompletionCallback* callback);
virtual int Read(net::IOBuffer* buf, int buf_len,
net::CompletionCallback* callback);
- bool write_pending() const { return write_pending_; }
- bool read_pending() const { return read_pending_; }
+ // ClientSocket:
+ virtual int Connect(net::CompletionCallback* callback);
+ virtual void Disconnect();
+ virtual bool IsConnected() const;
+ virtual bool IsConnectedAndIdle() const;
+ virtual bool WasEverUsed() const;
+ virtual bool UsingTCPFastOpen() const;
- void CompleteWrite();
- int CompleteRead();
- void OnReadComplete(const MockRead& data);
+ // MockClientSocket:
+ virtual void OnReadComplete(const MockRead& data);
private:
bool write_pending_;
@@ -699,7 +703,13 @@ class MockSSLClientSocket : public MockClientSocket {
const net::SSLConfig& ssl_config,
SSLHostInfo* ssl_host_info,
net::SSLSocketDataProvider* socket);
- ~MockSSLClientSocket();
+ virtual ~MockSSLClientSocket();
+
+ // Socket methods:
+ virtual int Read(net::IOBuffer* buf, int buf_len,
+ net::CompletionCallback* callback);
+ virtual int Write(net::IOBuffer* buf, int buf_len,
+ net::CompletionCallback* callback);
// ClientSocket methods:
virtual int Connect(net::CompletionCallback* callback);
@@ -708,12 +718,6 @@ class MockSSLClientSocket : public MockClientSocket {
virtual bool WasEverUsed() const;
virtual bool UsingTCPFastOpen() const;
- // Socket methods:
- virtual int Read(net::IOBuffer* buf, int buf_len,
- net::CompletionCallback* callback);
- virtual int Write(net::IOBuffer* buf, int buf_len,
- net::CompletionCallback* callback);
-
// SSLClientSocket methods:
virtual void GetSSLInfo(net::SSLInfo* ssl_info);
virtual void GetSSLCertRequestInfo(
@@ -723,7 +727,7 @@ class MockSSLClientSocket : public MockClientSocket {
virtual bool set_was_npn_negotiated(bool negotiated);
// This MockSocket does not implement the manual async IO feature.
- virtual void OnReadComplete(const MockRead& data) { NOTIMPLEMENTED(); }
+ virtual void OnReadComplete(const MockRead& data);
private:
class ConnectCallback;
@@ -878,6 +882,13 @@ class DeterministicMockClientSocketFactory : public ClientSocketFactory {
// created.
MockSSLClientSocket* GetMockSSLClientSocket(size_t index) const;
+ SocketDataProviderArray<DeterministicSocketData>& mock_data() {
+ return mock_data_;
+ }
+ std::vector<DeterministicMockTCPClientSocket*>& tcp_client_sockets() {
+ return tcp_client_sockets_;
+ }
+
// ClientSocketFactory
virtual ClientSocket* CreateTCPClientSocket(const AddressList& addresses,
NetLog* net_log,
@@ -890,13 +901,6 @@ class DeterministicMockClientSocketFactory : public ClientSocketFactory {
CertVerifier* cert_verifier,
DnsCertProvenanceChecker* dns_cert_checker);
- SocketDataProviderArray<DeterministicSocketData>& mock_data() {
- return mock_data_;
- }
- std::vector<DeterministicMockTCPClientSocket*>& tcp_client_sockets() {
- return tcp_client_sockets_;
- }
-
private:
SocketDataProviderArray<DeterministicSocketData> mock_data_;
SocketDataProviderArray<SSLSocketDataProvider> mock_ssl_data_;
« no previous file with comments | « net/proxy/multi_threaded_proxy_resolver_unittest.cc ('k') | net/socket/socket_test_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698