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 <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 526 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
537 private: | 537 private: |
538 SocketDataProviderArray<SocketDataProvider> mock_data_; | 538 SocketDataProviderArray<SocketDataProvider> mock_data_; |
539 SocketDataProviderArray<SSLSocketDataProvider> mock_ssl_data_; | 539 SocketDataProviderArray<SSLSocketDataProvider> mock_ssl_data_; |
540 std::vector<uint16_t> udp_client_socket_ports_; | 540 std::vector<uint16_t> udp_client_socket_ports_; |
541 | 541 |
542 DISALLOW_COPY_AND_ASSIGN(MockClientSocketFactory); | 542 DISALLOW_COPY_AND_ASSIGN(MockClientSocketFactory); |
543 }; | 543 }; |
544 | 544 |
545 class MockClientSocket : public SSLClientSocket { | 545 class MockClientSocket : public SSLClientSocket { |
546 public: | 546 public: |
547 // The BoundNetLog is needed to test LoadTimingInfo, which uses NetLog IDs as | 547 // The NetLogWithSource is needed to test LoadTimingInfo, which uses NetLog |
| 548 // IDs as |
548 // unique socket IDs. | 549 // unique socket IDs. |
549 explicit MockClientSocket(const BoundNetLog& net_log); | 550 explicit MockClientSocket(const NetLogWithSource& net_log); |
550 | 551 |
551 // Socket implementation. | 552 // Socket implementation. |
552 int Read(IOBuffer* buf, | 553 int Read(IOBuffer* buf, |
553 int buf_len, | 554 int buf_len, |
554 const CompletionCallback& callback) override = 0; | 555 const CompletionCallback& callback) override = 0; |
555 int Write(IOBuffer* buf, | 556 int Write(IOBuffer* buf, |
556 int buf_len, | 557 int buf_len, |
557 const CompletionCallback& callback) override = 0; | 558 const CompletionCallback& callback) override = 0; |
558 int SetReceiveBufferSize(int32_t size) override; | 559 int SetReceiveBufferSize(int32_t size) override; |
559 int SetSendBufferSize(int32_t size) override; | 560 int SetSendBufferSize(int32_t size) override; |
560 | 561 |
561 // StreamSocket implementation. | 562 // StreamSocket implementation. |
562 int Connect(const CompletionCallback& callback) override = 0; | 563 int Connect(const CompletionCallback& callback) override = 0; |
563 void Disconnect() override; | 564 void Disconnect() override; |
564 bool IsConnected() const override; | 565 bool IsConnected() const override; |
565 bool IsConnectedAndIdle() const override; | 566 bool IsConnectedAndIdle() const override; |
566 int GetPeerAddress(IPEndPoint* address) const override; | 567 int GetPeerAddress(IPEndPoint* address) const override; |
567 int GetLocalAddress(IPEndPoint* address) const override; | 568 int GetLocalAddress(IPEndPoint* address) const override; |
568 const BoundNetLog& NetLog() const override; | 569 const NetLogWithSource& NetLog() const override; |
569 void SetSubresourceSpeculation() override {} | 570 void SetSubresourceSpeculation() override {} |
570 void SetOmniboxSpeculation() override {} | 571 void SetOmniboxSpeculation() override {} |
571 bool WasNpnNegotiated() const override; | 572 bool WasNpnNegotiated() const override; |
572 NextProto GetNegotiatedProtocol() const override; | 573 NextProto GetNegotiatedProtocol() const override; |
573 void GetConnectionAttempts(ConnectionAttempts* out) const override; | 574 void GetConnectionAttempts(ConnectionAttempts* out) const override; |
574 void ClearConnectionAttempts() override {} | 575 void ClearConnectionAttempts() override {} |
575 void AddConnectionAttempts(const ConnectionAttempts& attempts) override {} | 576 void AddConnectionAttempts(const ConnectionAttempts& attempts) override {} |
576 int64_t GetTotalReceivedBytes() const override; | 577 int64_t GetTotalReceivedBytes() const override; |
577 | 578 |
578 // SSLClientSocket implementation. | 579 // SSLClientSocket implementation. |
(...skipping 13 matching lines...) Expand all Loading... |
592 ~MockClientSocket() override; | 593 ~MockClientSocket() override; |
593 void RunCallbackAsync(const CompletionCallback& callback, int result); | 594 void RunCallbackAsync(const CompletionCallback& callback, int result); |
594 void RunCallback(const CompletionCallback& callback, int result); | 595 void RunCallback(const CompletionCallback& callback, int result); |
595 | 596 |
596 // True if Connect completed successfully and Disconnect hasn't been called. | 597 // True if Connect completed successfully and Disconnect hasn't been called. |
597 bool connected_; | 598 bool connected_; |
598 | 599 |
599 // Address of the "remote" peer we're connected to. | 600 // Address of the "remote" peer we're connected to. |
600 IPEndPoint peer_addr_; | 601 IPEndPoint peer_addr_; |
601 | 602 |
602 BoundNetLog net_log_; | 603 NetLogWithSource net_log_; |
603 | 604 |
604 private: | 605 private: |
605 base::WeakPtrFactory<MockClientSocket> weak_factory_; | 606 base::WeakPtrFactory<MockClientSocket> weak_factory_; |
606 | 607 |
607 DISALLOW_COPY_AND_ASSIGN(MockClientSocket); | 608 DISALLOW_COPY_AND_ASSIGN(MockClientSocket); |
608 }; | 609 }; |
609 | 610 |
610 class MockTCPClientSocket : public MockClientSocket, public AsyncSocket { | 611 class MockTCPClientSocket : public MockClientSocket, public AsyncSocket { |
611 public: | 612 public: |
612 MockTCPClientSocket(const AddressList& addresses, | 613 MockTCPClientSocket(const AddressList& addresses, |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
739 const CompletionCallback& callback) override; | 740 const CompletionCallback& callback) override; |
740 int SetReceiveBufferSize(int32_t size) override; | 741 int SetReceiveBufferSize(int32_t size) override; |
741 int SetSendBufferSize(int32_t size) override; | 742 int SetSendBufferSize(int32_t size) override; |
742 int SetDoNotFragment() override; | 743 int SetDoNotFragment() override; |
743 | 744 |
744 // DatagramSocket implementation. | 745 // DatagramSocket implementation. |
745 void Close() override; | 746 void Close() override; |
746 int GetPeerAddress(IPEndPoint* address) const override; | 747 int GetPeerAddress(IPEndPoint* address) const override; |
747 int GetLocalAddress(IPEndPoint* address) const override; | 748 int GetLocalAddress(IPEndPoint* address) const override; |
748 void UseNonBlockingIO() override; | 749 void UseNonBlockingIO() override; |
749 const BoundNetLog& NetLog() const override; | 750 const NetLogWithSource& NetLog() const override; |
750 | 751 |
751 // DatagramClientSocket implementation. | 752 // DatagramClientSocket implementation. |
752 int Connect(const IPEndPoint& address) override; | 753 int Connect(const IPEndPoint& address) override; |
753 int ConnectUsingNetwork(NetworkChangeNotifier::NetworkHandle network, | 754 int ConnectUsingNetwork(NetworkChangeNotifier::NetworkHandle network, |
754 const IPEndPoint& address) override; | 755 const IPEndPoint& address) override; |
755 int ConnectUsingDefaultNetwork(const IPEndPoint& address) override; | 756 int ConnectUsingDefaultNetwork(const IPEndPoint& address) override; |
756 NetworkChangeNotifier::NetworkHandle GetBoundNetwork() const override; | 757 NetworkChangeNotifier::NetworkHandle GetBoundNetwork() const override; |
757 | 758 |
758 // AsyncSocket implementation. | 759 // AsyncSocket implementation. |
759 void OnReadComplete(const MockRead& data) override; | 760 void OnReadComplete(const MockRead& data) override; |
(...skipping 22 matching lines...) Expand all Loading... |
782 | 783 |
783 // Network that the socket is bound to. | 784 // Network that the socket is bound to. |
784 NetworkChangeNotifier::NetworkHandle network_; | 785 NetworkChangeNotifier::NetworkHandle network_; |
785 | 786 |
786 // While an asynchronous IO is pending, we save our user-buffer state. | 787 // While an asynchronous IO is pending, we save our user-buffer state. |
787 scoped_refptr<IOBuffer> pending_read_buf_; | 788 scoped_refptr<IOBuffer> pending_read_buf_; |
788 int pending_read_buf_len_; | 789 int pending_read_buf_len_; |
789 CompletionCallback pending_read_callback_; | 790 CompletionCallback pending_read_callback_; |
790 CompletionCallback pending_write_callback_; | 791 CompletionCallback pending_write_callback_; |
791 | 792 |
792 BoundNetLog net_log_; | 793 NetLogWithSource net_log_; |
793 | 794 |
794 base::WeakPtrFactory<MockUDPClientSocket> weak_factory_; | 795 base::WeakPtrFactory<MockUDPClientSocket> weak_factory_; |
795 | 796 |
796 DISALLOW_COPY_AND_ASSIGN(MockUDPClientSocket); | 797 DISALLOW_COPY_AND_ASSIGN(MockUDPClientSocket); |
797 }; | 798 }; |
798 | 799 |
799 class TestSocketRequest : public TestCompletionCallbackBase { | 800 class TestSocketRequest : public TestCompletionCallbackBase { |
800 public: | 801 public: |
801 TestSocketRequest(std::vector<TestSocketRequest*>* request_order, | 802 TestSocketRequest(std::vector<TestSocketRequest*>* request_order, |
802 size_t* completion_count); | 803 size_t* completion_count); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
838 const std::string& group_name, | 839 const std::string& group_name, |
839 RequestPriority priority, | 840 RequestPriority priority, |
840 ClientSocketPool::RespectLimits respect_limits, | 841 ClientSocketPool::RespectLimits respect_limits, |
841 const scoped_refptr<typename PoolType::SocketParams>& socket_params) { | 842 const scoped_refptr<typename PoolType::SocketParams>& socket_params) { |
842 DCHECK(socket_pool); | 843 DCHECK(socket_pool); |
843 TestSocketRequest* request( | 844 TestSocketRequest* request( |
844 new TestSocketRequest(&request_order_, &completion_count_)); | 845 new TestSocketRequest(&request_order_, &completion_count_)); |
845 requests_.push_back(base::WrapUnique(request)); | 846 requests_.push_back(base::WrapUnique(request)); |
846 int rv = request->handle()->Init(group_name, socket_params, priority, | 847 int rv = request->handle()->Init(group_name, socket_params, priority, |
847 respect_limits, request->callback(), | 848 respect_limits, request->callback(), |
848 socket_pool, BoundNetLog()); | 849 socket_pool, NetLogWithSource()); |
849 if (rv != ERR_IO_PENDING) | 850 if (rv != ERR_IO_PENDING) |
850 request_order_.push_back(request); | 851 request_order_.push_back(request); |
851 return rv; | 852 return rv; |
852 } | 853 } |
853 | 854 |
854 // Provided there were n requests started, takes |index| in range 1..n | 855 // Provided there were n requests started, takes |index| in range 1..n |
855 // and returns order in which that request completed, in range 1..n, | 856 // and returns order in which that request completed, in range 1..n, |
856 // or kIndexOutOfBounds if |index| is out of bounds, or kRequestNotFound | 857 // or kIndexOutOfBounds if |index| is out of bounds, or kRequestNotFound |
857 // if that request did not complete (for example was canceled). | 858 // if that request did not complete (for example was canceled). |
858 int GetOrderOfRequest(size_t index) const; | 859 int GetOrderOfRequest(size_t index) const; |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
927 int release_count() const { return release_count_; } | 928 int release_count() const { return release_count_; } |
928 int cancel_count() const { return cancel_count_; } | 929 int cancel_count() const { return cancel_count_; } |
929 | 930 |
930 // TransportClientSocketPool implementation. | 931 // TransportClientSocketPool implementation. |
931 int RequestSocket(const std::string& group_name, | 932 int RequestSocket(const std::string& group_name, |
932 const void* socket_params, | 933 const void* socket_params, |
933 RequestPriority priority, | 934 RequestPriority priority, |
934 RespectLimits respect_limits, | 935 RespectLimits respect_limits, |
935 ClientSocketHandle* handle, | 936 ClientSocketHandle* handle, |
936 const CompletionCallback& callback, | 937 const CompletionCallback& callback, |
937 const BoundNetLog& net_log) override; | 938 const NetLogWithSource& net_log) override; |
938 | 939 |
939 void CancelRequest(const std::string& group_name, | 940 void CancelRequest(const std::string& group_name, |
940 ClientSocketHandle* handle) override; | 941 ClientSocketHandle* handle) override; |
941 void ReleaseSocket(const std::string& group_name, | 942 void ReleaseSocket(const std::string& group_name, |
942 std::unique_ptr<StreamSocket> socket, | 943 std::unique_ptr<StreamSocket> socket, |
943 int id) override; | 944 int id) override; |
944 | 945 |
945 private: | 946 private: |
946 ClientSocketFactory* client_socket_factory_; | 947 ClientSocketFactory* client_socket_factory_; |
947 std::vector<std::unique_ptr<MockConnectJob>> job_list_; | 948 std::vector<std::unique_ptr<MockConnectJob>> job_list_; |
(...skipping 12 matching lines...) Expand all Loading... |
960 | 961 |
961 ~MockSOCKSClientSocketPool() override; | 962 ~MockSOCKSClientSocketPool() override; |
962 | 963 |
963 // SOCKSClientSocketPool implementation. | 964 // SOCKSClientSocketPool implementation. |
964 int RequestSocket(const std::string& group_name, | 965 int RequestSocket(const std::string& group_name, |
965 const void* socket_params, | 966 const void* socket_params, |
966 RequestPriority priority, | 967 RequestPriority priority, |
967 RespectLimits respect_limits, | 968 RespectLimits respect_limits, |
968 ClientSocketHandle* handle, | 969 ClientSocketHandle* handle, |
969 const CompletionCallback& callback, | 970 const CompletionCallback& callback, |
970 const BoundNetLog& net_log) override; | 971 const NetLogWithSource& net_log) override; |
971 | 972 |
972 void CancelRequest(const std::string& group_name, | 973 void CancelRequest(const std::string& group_name, |
973 ClientSocketHandle* handle) override; | 974 ClientSocketHandle* handle) override; |
974 void ReleaseSocket(const std::string& group_name, | 975 void ReleaseSocket(const std::string& group_name, |
975 std::unique_ptr<StreamSocket> socket, | 976 std::unique_ptr<StreamSocket> socket, |
976 int id) override; | 977 int id) override; |
977 | 978 |
978 private: | 979 private: |
979 TransportClientSocketPool* const transport_pool_; | 980 TransportClientSocketPool* const transport_pool_; |
980 | 981 |
(...skipping 27 matching lines...) Expand all Loading... |
1008 | 1009 |
1009 // Helper function to get the total data size of the MockReads in |reads|. | 1010 // Helper function to get the total data size of the MockReads in |reads|. |
1010 int64_t CountReadBytes(const MockRead reads[], size_t reads_size); | 1011 int64_t CountReadBytes(const MockRead reads[], size_t reads_size); |
1011 | 1012 |
1012 // Helper function to get the total data size of the MockWrites in |writes|. | 1013 // Helper function to get the total data size of the MockWrites in |writes|. |
1013 int64_t CountWriteBytes(const MockWrite writes[], size_t writes_size); | 1014 int64_t CountWriteBytes(const MockWrite writes[], size_t writes_size); |
1014 | 1015 |
1015 } // namespace net | 1016 } // namespace net |
1016 | 1017 |
1017 #endif // NET_SOCKET_SOCKET_TEST_UTIL_H_ | 1018 #endif // NET_SOCKET_SOCKET_TEST_UTIL_H_ |
OLD | NEW |