| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_P2P_SOCKET_HOST_TEST_UTILS_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_P2P_SOCKET_HOST_TEST_UTILS_H_ |
| 6 #define CONTENT_BROWSER_RENDERER_HOST_P2P_SOCKET_HOST_TEST_UTILS_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_P2P_SOCKET_HOST_TEST_UTILS_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "content/common/p2p_messages.h" | 10 #include "content/common/p2p_messages.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 virtual ~FakeSocket(); | 50 virtual ~FakeSocket(); |
| 51 | 51 |
| 52 void AppendInputData(const char* data, int data_size); | 52 void AppendInputData(const char* data, int data_size); |
| 53 int input_pos() const { return input_pos_; } | 53 int input_pos() const { return input_pos_; } |
| 54 bool read_pending() const { return read_pending_; } | 54 bool read_pending() const { return read_pending_; } |
| 55 void SetPeerAddress(const net::IPEndPoint& peer_address); | 55 void SetPeerAddress(const net::IPEndPoint& peer_address); |
| 56 void SetLocalAddress(const net::IPEndPoint& local_address); | 56 void SetLocalAddress(const net::IPEndPoint& local_address); |
| 57 | 57 |
| 58 // net::Socket implementation. | 58 // net::Socket implementation. |
| 59 virtual int Read(net::IOBuffer* buf, int buf_len, | 59 virtual int Read(net::IOBuffer* buf, int buf_len, |
| 60 net::OldCompletionCallback* callback) OVERRIDE; | |
| 61 virtual int Read(net::IOBuffer* buf, int buf_len, | |
| 62 const net::CompletionCallback& callback) OVERRIDE; | 60 const net::CompletionCallback& callback) OVERRIDE; |
| 63 virtual int Write(net::IOBuffer* buf, int buf_len, | 61 virtual int Write(net::IOBuffer* buf, int buf_len, |
| 64 net::OldCompletionCallback* callback) OVERRIDE; | 62 const net::CompletionCallback& callback) OVERRIDE; |
| 65 virtual bool SetReceiveBufferSize(int32 size) OVERRIDE; | 63 virtual bool SetReceiveBufferSize(int32 size) OVERRIDE; |
| 66 virtual bool SetSendBufferSize(int32 size) OVERRIDE; | 64 virtual bool SetSendBufferSize(int32 size) OVERRIDE; |
| 67 virtual int Connect(net::OldCompletionCallback* callback) OVERRIDE; | |
| 68 virtual int Connect(const net::CompletionCallback& callback) OVERRIDE; | 65 virtual int Connect(const net::CompletionCallback& callback) OVERRIDE; |
| 69 virtual void Disconnect() OVERRIDE; | 66 virtual void Disconnect() OVERRIDE; |
| 70 virtual bool IsConnected() const OVERRIDE; | 67 virtual bool IsConnected() const OVERRIDE; |
| 71 virtual bool IsConnectedAndIdle() const OVERRIDE; | 68 virtual bool IsConnectedAndIdle() const OVERRIDE; |
| 72 virtual int GetPeerAddress(net::AddressList* address) const OVERRIDE; | 69 virtual int GetPeerAddress(net::AddressList* address) const OVERRIDE; |
| 73 virtual int GetLocalAddress(net::IPEndPoint* address) const OVERRIDE; | 70 virtual int GetLocalAddress(net::IPEndPoint* address) const OVERRIDE; |
| 74 virtual const net::BoundNetLog& NetLog() const OVERRIDE; | 71 virtual const net::BoundNetLog& NetLog() const OVERRIDE; |
| 75 virtual void SetSubresourceSpeculation() OVERRIDE; | 72 virtual void SetSubresourceSpeculation() OVERRIDE; |
| 76 virtual void SetOmniboxSpeculation() OVERRIDE; | 73 virtual void SetOmniboxSpeculation() OVERRIDE; |
| 77 virtual bool WasEverUsed() const OVERRIDE; | 74 virtual bool WasEverUsed() const OVERRIDE; |
| 78 virtual bool UsingTCPFastOpen() const OVERRIDE; | 75 virtual bool UsingTCPFastOpen() const OVERRIDE; |
| 79 virtual int64 NumBytesRead() const OVERRIDE; | 76 virtual int64 NumBytesRead() const OVERRIDE; |
| 80 virtual base::TimeDelta GetConnectTimeMicros() const OVERRIDE; | 77 virtual base::TimeDelta GetConnectTimeMicros() const OVERRIDE; |
| 81 | 78 |
| 82 private: | 79 private: |
| 83 bool read_pending_; | 80 bool read_pending_; |
| 84 scoped_refptr<net::IOBuffer> read_buffer_; | 81 scoped_refptr<net::IOBuffer> read_buffer_; |
| 85 int read_buffer_size_; | 82 int read_buffer_size_; |
| 86 net::OldCompletionCallback* old_read_callback_; | |
| 87 net::CompletionCallback read_callback_; | 83 net::CompletionCallback read_callback_; |
| 88 | 84 |
| 89 std::string* written_data_; | 85 std::string* written_data_; |
| 90 std::string input_data_; | 86 std::string input_data_; |
| 91 int input_pos_; | 87 int input_pos_; |
| 92 | 88 |
| 93 net::IPEndPoint peer_address_; | 89 net::IPEndPoint peer_address_; |
| 94 net::IPEndPoint local_address_; | 90 net::IPEndPoint local_address_; |
| 95 | 91 |
| 96 net::BoundNetLog net_log_; | 92 net::BoundNetLog net_log_; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 108 input_data_.insert(input_data_.end(), data, data + data_size); | 104 input_data_.insert(input_data_.end(), data, data + data_size); |
| 109 // Complete pending read if any. | 105 // Complete pending read if any. |
| 110 if (read_pending_) { | 106 if (read_pending_) { |
| 111 read_pending_ = false; | 107 read_pending_ = false; |
| 112 int result = std::min(read_buffer_size_, | 108 int result = std::min(read_buffer_size_, |
| 113 static_cast<int>(input_data_.size() - input_pos_)); | 109 static_cast<int>(input_data_.size() - input_pos_)); |
| 114 CHECK(result > 0); | 110 CHECK(result > 0); |
| 115 memcpy(read_buffer_->data(), &input_data_[0] + input_pos_, result); | 111 memcpy(read_buffer_->data(), &input_data_[0] + input_pos_, result); |
| 116 input_pos_ += result; | 112 input_pos_ += result; |
| 117 read_buffer_ = NULL; | 113 read_buffer_ = NULL; |
| 118 if (old_read_callback_) { | 114 net::CompletionCallback cb = read_callback_; |
| 119 net::OldCompletionCallback* cb = old_read_callback_; | 115 read_callback_.Reset(); |
| 120 old_read_callback_ = NULL; | 116 cb.Run(result); |
| 121 cb->Run(result); | |
| 122 } else { | |
| 123 net::CompletionCallback cb = read_callback_; | |
| 124 read_callback_.Reset(); | |
| 125 cb.Run(result); | |
| 126 } | |
| 127 } | 117 } |
| 128 } | 118 } |
| 129 | 119 |
| 130 void FakeSocket::SetPeerAddress(const net::IPEndPoint& peer_address) { | 120 void FakeSocket::SetPeerAddress(const net::IPEndPoint& peer_address) { |
| 131 peer_address_ = peer_address; | 121 peer_address_ = peer_address; |
| 132 } | 122 } |
| 133 | 123 |
| 134 void FakeSocket::SetLocalAddress(const net::IPEndPoint& local_address) { | 124 void FakeSocket::SetLocalAddress(const net::IPEndPoint& local_address) { |
| 135 local_address_ = local_address; | 125 local_address_ = local_address; |
| 136 } | 126 } |
| 137 | 127 |
| 138 int FakeSocket::Read(net::IOBuffer* buf, int buf_len, | 128 int FakeSocket::Read(net::IOBuffer* buf, int buf_len, |
| 139 net::OldCompletionCallback* callback) { | |
| 140 DCHECK(buf); | |
| 141 if (input_pos_ < static_cast<int>(input_data_.size())){ | |
| 142 int result = std::min(buf_len, | |
| 143 static_cast<int>(input_data_.size()) - input_pos_); | |
| 144 memcpy(buf->data(), &(*input_data_.begin()) + input_pos_, result); | |
| 145 input_pos_ += result; | |
| 146 return result; | |
| 147 } else { | |
| 148 read_pending_ = true; | |
| 149 read_buffer_ = buf; | |
| 150 read_buffer_size_ = buf_len; | |
| 151 old_read_callback_ = callback; | |
| 152 return net::ERR_IO_PENDING; | |
| 153 } | |
| 154 } | |
| 155 int FakeSocket::Read(net::IOBuffer* buf, int buf_len, | |
| 156 const net::CompletionCallback& callback) { | 129 const net::CompletionCallback& callback) { |
| 157 DCHECK(buf); | 130 DCHECK(buf); |
| 158 if (input_pos_ < static_cast<int>(input_data_.size())){ | 131 if (input_pos_ < static_cast<int>(input_data_.size())){ |
| 159 int result = std::min(buf_len, | 132 int result = std::min(buf_len, |
| 160 static_cast<int>(input_data_.size()) - input_pos_); | 133 static_cast<int>(input_data_.size()) - input_pos_); |
| 161 memcpy(buf->data(), &(*input_data_.begin()) + input_pos_, result); | 134 memcpy(buf->data(), &(*input_data_.begin()) + input_pos_, result); |
| 162 input_pos_ += result; | 135 input_pos_ += result; |
| 163 return result; | 136 return result; |
| 164 } else { | 137 } else { |
| 165 read_pending_ = true; | 138 read_pending_ = true; |
| 166 read_buffer_ = buf; | 139 read_buffer_ = buf; |
| 167 read_buffer_size_ = buf_len; | 140 read_buffer_size_ = buf_len; |
| 168 read_callback_ = callback; | 141 read_callback_ = callback; |
| 169 return net::ERR_IO_PENDING; | 142 return net::ERR_IO_PENDING; |
| 170 } | 143 } |
| 171 } | 144 } |
| 172 | 145 |
| 173 int FakeSocket::Write(net::IOBuffer* buf, int buf_len, | 146 int FakeSocket::Write(net::IOBuffer* buf, int buf_len, |
| 174 net::OldCompletionCallback* callback) { | 147 const net::CompletionCallback& callback) { |
| 175 DCHECK(buf); | 148 DCHECK(buf); |
| 176 if (written_data_) { | 149 if (written_data_) { |
| 177 written_data_->insert(written_data_->end(), | 150 written_data_->insert(written_data_->end(), |
| 178 buf->data(), buf->data() + buf_len); | 151 buf->data(), buf->data() + buf_len); |
| 179 } | 152 } |
| 180 return buf_len; | 153 return buf_len; |
| 181 } | 154 } |
| 182 | 155 |
| 183 | 156 |
| 184 bool FakeSocket::SetReceiveBufferSize(int32 size) { | 157 bool FakeSocket::SetReceiveBufferSize(int32 size) { |
| 185 NOTIMPLEMENTED(); | 158 NOTIMPLEMENTED(); |
| 186 return false; | 159 return false; |
| 187 } | 160 } |
| 188 bool FakeSocket::SetSendBufferSize(int32 size) { | 161 bool FakeSocket::SetSendBufferSize(int32 size) { |
| 189 NOTIMPLEMENTED(); | 162 NOTIMPLEMENTED(); |
| 190 return false; | 163 return false; |
| 191 } | 164 } |
| 192 | 165 |
| 193 int FakeSocket::Connect(net::OldCompletionCallback* callback) { | |
| 194 return 0; | |
| 195 } | |
| 196 | |
| 197 int FakeSocket::Connect(const net::CompletionCallback& callback) { | 166 int FakeSocket::Connect(const net::CompletionCallback& callback) { |
| 198 return 0; | 167 return 0; |
| 199 } | 168 } |
| 200 | 169 |
| 201 void FakeSocket::Disconnect() { | 170 void FakeSocket::Disconnect() { |
| 202 NOTREACHED(); | 171 NOTREACHED(); |
| 203 } | 172 } |
| 204 | 173 |
| 205 bool FakeSocket::IsConnected() const { | 174 bool FakeSocket::IsConnected() const { |
| 206 return true; | 175 return true; |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 304 return false; | 273 return false; |
| 305 P2PMsg_OnIncomingTcpConnection::Param params; | 274 P2PMsg_OnIncomingTcpConnection::Param params; |
| 306 P2PMsg_OnIncomingTcpConnection::Read( | 275 P2PMsg_OnIncomingTcpConnection::Read( |
| 307 arg, ¶ms); | 276 arg, ¶ms); |
| 308 return params.b == address; | 277 return params.b == address; |
| 309 } | 278 } |
| 310 | 279 |
| 311 } // namespace | 280 } // namespace |
| 312 | 281 |
| 313 #endif // CONTENT_BROWSER_RENDERER_HOST_P2P_SOCKET_HOST_TEST_UTILS_H_ | 282 #endif // CONTENT_BROWSER_RENDERER_HOST_P2P_SOCKET_HOST_TEST_UTILS_H_ |
| OLD | NEW |