OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 NET_SOCKET_SOCKET_TEST_UTIL_H_ | 5 #ifndef NET_SOCKET_SOCKET_TEST_UTIL_H_ |
6 #define NET_SOCKET_SOCKET_TEST_UTIL_H_ | 6 #define NET_SOCKET_SOCKET_TEST_UTIL_H_ |
7 | 7 |
| 8 #include <stddef.h> |
8 #include <stdint.h> | 9 #include <stdint.h> |
9 | 10 |
10 #include <cstring> | 11 #include <cstring> |
11 #include <deque> | 12 #include <deque> |
12 #include <string> | 13 #include <string> |
13 #include <vector> | 14 #include <vector> |
14 | 15 |
15 #include "base/basictypes.h" | |
16 #include "base/callback.h" | 16 #include "base/callback.h" |
17 #include "base/logging.h" | 17 #include "base/logging.h" |
| 18 #include "base/macros.h" |
18 #include "base/memory/ref_counted.h" | 19 #include "base/memory/ref_counted.h" |
19 #include "base/memory/scoped_ptr.h" | 20 #include "base/memory/scoped_ptr.h" |
20 #include "base/memory/scoped_vector.h" | 21 #include "base/memory/scoped_vector.h" |
21 #include "base/memory/weak_ptr.h" | 22 #include "base/memory/weak_ptr.h" |
22 #include "base/strings/string16.h" | 23 #include "base/strings/string16.h" |
23 #include "base/time/time.h" | 24 #include "base/time/time.h" |
24 #include "net/base/address_list.h" | 25 #include "net/base/address_list.h" |
25 #include "net/base/io_buffer.h" | 26 #include "net/base/io_buffer.h" |
26 #include "net/base/net_errors.h" | 27 #include "net/base/net_errors.h" |
27 #include "net/base/test_completion_callback.h" | 28 #include "net/base/test_completion_callback.h" |
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 const AddressList& addresses, | 511 const AddressList& addresses, |
511 NetLog* net_log, | 512 NetLog* net_log, |
512 const NetLog::Source& source) override; | 513 const NetLog::Source& source) override; |
513 scoped_ptr<SSLClientSocket> CreateSSLClientSocket( | 514 scoped_ptr<SSLClientSocket> CreateSSLClientSocket( |
514 scoped_ptr<ClientSocketHandle> transport_socket, | 515 scoped_ptr<ClientSocketHandle> transport_socket, |
515 const HostPortPair& host_and_port, | 516 const HostPortPair& host_and_port, |
516 const SSLConfig& ssl_config, | 517 const SSLConfig& ssl_config, |
517 const SSLClientSocketContext& context) override; | 518 const SSLClientSocketContext& context) override; |
518 void ClearSSLSessionCache() override; | 519 void ClearSSLSessionCache() override; |
519 | 520 |
520 const std::vector<uint16>& udp_client_socket_ports() const { | 521 const std::vector<uint16_t>& udp_client_socket_ports() const { |
521 return udp_client_socket_ports_; | 522 return udp_client_socket_ports_; |
522 } | 523 } |
523 | 524 |
524 private: | 525 private: |
525 SocketDataProviderArray<SocketDataProvider> mock_data_; | 526 SocketDataProviderArray<SocketDataProvider> mock_data_; |
526 SocketDataProviderArray<SSLSocketDataProvider> mock_ssl_data_; | 527 SocketDataProviderArray<SSLSocketDataProvider> mock_ssl_data_; |
527 std::vector<uint16> udp_client_socket_ports_; | 528 std::vector<uint16_t> udp_client_socket_ports_; |
528 | 529 |
529 DISALLOW_COPY_AND_ASSIGN(MockClientSocketFactory); | 530 DISALLOW_COPY_AND_ASSIGN(MockClientSocketFactory); |
530 }; | 531 }; |
531 | 532 |
532 class MockClientSocket : public SSLClientSocket { | 533 class MockClientSocket : public SSLClientSocket { |
533 public: | 534 public: |
534 // Value returned by GetTLSUniqueChannelBinding(). | 535 // Value returned by GetTLSUniqueChannelBinding(). |
535 static const char kTlsUnique[]; | 536 static const char kTlsUnique[]; |
536 | 537 |
537 // The BoundNetLog is needed to test LoadTimingInfo, which uses NetLog IDs as | 538 // The BoundNetLog is needed to test LoadTimingInfo, which uses NetLog IDs as |
538 // unique socket IDs. | 539 // unique socket IDs. |
539 explicit MockClientSocket(const BoundNetLog& net_log); | 540 explicit MockClientSocket(const BoundNetLog& net_log); |
540 | 541 |
541 // Socket implementation. | 542 // Socket implementation. |
542 int Read(IOBuffer* buf, | 543 int Read(IOBuffer* buf, |
543 int buf_len, | 544 int buf_len, |
544 const CompletionCallback& callback) override = 0; | 545 const CompletionCallback& callback) override = 0; |
545 int Write(IOBuffer* buf, | 546 int Write(IOBuffer* buf, |
546 int buf_len, | 547 int buf_len, |
547 const CompletionCallback& callback) override = 0; | 548 const CompletionCallback& callback) override = 0; |
548 int SetReceiveBufferSize(int32 size) override; | 549 int SetReceiveBufferSize(int32_t size) override; |
549 int SetSendBufferSize(int32 size) override; | 550 int SetSendBufferSize(int32_t size) override; |
550 | 551 |
551 // StreamSocket implementation. | 552 // StreamSocket implementation. |
552 int Connect(const CompletionCallback& callback) override = 0; | 553 int Connect(const CompletionCallback& callback) override = 0; |
553 void Disconnect() override; | 554 void Disconnect() override; |
554 bool IsConnected() const override; | 555 bool IsConnected() const override; |
555 bool IsConnectedAndIdle() const override; | 556 bool IsConnectedAndIdle() const override; |
556 int GetPeerAddress(IPEndPoint* address) const override; | 557 int GetPeerAddress(IPEndPoint* address) const override; |
557 int GetLocalAddress(IPEndPoint* address) const override; | 558 int GetLocalAddress(IPEndPoint* address) const override; |
558 const BoundNetLog& NetLog() const override; | 559 const BoundNetLog& NetLog() const override; |
559 void SetSubresourceSpeculation() override {} | 560 void SetSubresourceSpeculation() override {} |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
716 MockUDPClientSocket(SocketDataProvider* data, net::NetLog* net_log); | 717 MockUDPClientSocket(SocketDataProvider* data, net::NetLog* net_log); |
717 ~MockUDPClientSocket() override; | 718 ~MockUDPClientSocket() override; |
718 | 719 |
719 // Socket implementation. | 720 // Socket implementation. |
720 int Read(IOBuffer* buf, | 721 int Read(IOBuffer* buf, |
721 int buf_len, | 722 int buf_len, |
722 const CompletionCallback& callback) override; | 723 const CompletionCallback& callback) override; |
723 int Write(IOBuffer* buf, | 724 int Write(IOBuffer* buf, |
724 int buf_len, | 725 int buf_len, |
725 const CompletionCallback& callback) override; | 726 const CompletionCallback& callback) override; |
726 int SetReceiveBufferSize(int32 size) override; | 727 int SetReceiveBufferSize(int32_t size) override; |
727 int SetSendBufferSize(int32 size) override; | 728 int SetSendBufferSize(int32_t size) override; |
728 | 729 |
729 // DatagramSocket implementation. | 730 // DatagramSocket implementation. |
730 void Close() override; | 731 void Close() override; |
731 int GetPeerAddress(IPEndPoint* address) const override; | 732 int GetPeerAddress(IPEndPoint* address) const override; |
732 int GetLocalAddress(IPEndPoint* address) const override; | 733 int GetLocalAddress(IPEndPoint* address) const override; |
733 const BoundNetLog& NetLog() const override; | 734 const BoundNetLog& NetLog() const override; |
734 | 735 |
735 // DatagramClientSocket implementation. | 736 // DatagramClientSocket implementation. |
736 int BindToNetwork(NetworkChangeNotifier::NetworkHandle network) override; | 737 int BindToNetwork(NetworkChangeNotifier::NetworkHandle network) override; |
737 int BindToDefaultNetwork() override; | 738 int BindToDefaultNetwork() override; |
738 NetworkChangeNotifier::NetworkHandle GetBoundNetwork() override; | 739 NetworkChangeNotifier::NetworkHandle GetBoundNetwork() override; |
739 int Connect(const IPEndPoint& address) override; | 740 int Connect(const IPEndPoint& address) override; |
740 | 741 |
741 // AsyncSocket implementation. | 742 // AsyncSocket implementation. |
742 void OnReadComplete(const MockRead& data) override; | 743 void OnReadComplete(const MockRead& data) override; |
743 void OnWriteComplete(int rv) override; | 744 void OnWriteComplete(int rv) override; |
744 void OnConnectComplete(const MockConnect& data) override; | 745 void OnConnectComplete(const MockConnect& data) override; |
745 void OnDataProviderDestroyed() override; | 746 void OnDataProviderDestroyed() override; |
746 | 747 |
747 void set_source_port(uint16 port) { source_port_ = port;} | 748 void set_source_port(uint16_t port) { source_port_ = port; } |
748 uint16 source_port() const { return source_port_; } | 749 uint16_t source_port() const { return source_port_; } |
749 | 750 |
750 private: | 751 private: |
751 int CompleteRead(); | 752 int CompleteRead(); |
752 | 753 |
753 void RunCallbackAsync(const CompletionCallback& callback, int result); | 754 void RunCallbackAsync(const CompletionCallback& callback, int result); |
754 void RunCallback(const CompletionCallback& callback, int result); | 755 void RunCallback(const CompletionCallback& callback, int result); |
755 | 756 |
756 bool connected_; | 757 bool connected_; |
757 SocketDataProvider* data_; | 758 SocketDataProvider* data_; |
758 int read_offset_; | 759 int read_offset_; |
759 MockRead read_data_; | 760 MockRead read_data_; |
760 bool need_read_data_; | 761 bool need_read_data_; |
761 uint16 source_port_; // Ephemeral source port. | 762 uint16_t source_port_; // Ephemeral source port. |
762 | 763 |
763 // Address of the "remote" peer we're connected to. | 764 // Address of the "remote" peer we're connected to. |
764 IPEndPoint peer_addr_; | 765 IPEndPoint peer_addr_; |
765 | 766 |
766 // While an asynchronous IO is pending, we save our user-buffer state. | 767 // While an asynchronous IO is pending, we save our user-buffer state. |
767 scoped_refptr<IOBuffer> pending_read_buf_; | 768 scoped_refptr<IOBuffer> pending_read_buf_; |
768 int pending_read_buf_len_; | 769 int pending_read_buf_len_; |
769 CompletionCallback pending_read_callback_; | 770 CompletionCallback pending_read_callback_; |
770 CompletionCallback pending_write_callback_; | 771 CompletionCallback pending_write_callback_; |
771 | 772 |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
986 | 987 |
987 // Helper function to get the total data size of the MockReads in |reads|. | 988 // Helper function to get the total data size of the MockReads in |reads|. |
988 int64_t CountReadBytes(const MockRead reads[], size_t reads_size); | 989 int64_t CountReadBytes(const MockRead reads[], size_t reads_size); |
989 | 990 |
990 // Helper function to get the total data size of the MockWrites in |writes|. | 991 // Helper function to get the total data size of the MockWrites in |writes|. |
991 int64_t CountWriteBytes(const MockWrite writes[], size_t writes_size); | 992 int64_t CountWriteBytes(const MockWrite writes[], size_t writes_size); |
992 | 993 |
993 } // namespace net | 994 } // namespace net |
994 | 995 |
995 #endif // NET_SOCKET_SOCKET_TEST_UTIL_H_ | 996 #endif // NET_SOCKET_SOCKET_TEST_UTIL_H_ |
OLD | NEW |