1 // Copyright 2015 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef NET_SOCKET_CONNECTION_ATTEMPTS_H_ 6 #define NET_SOCKET_CONNECTION_ATTEMPTS_H_ 7 8 #include "net/base/ip_endpoint.h" 9 10 namespace net { 11 12 // A record of an connection attempt made to connect to a host. Includes TCP 13 // and SSL errors, but not proxy connections. 14 struct ConnectionAttempt { ConnectionAttemptConnectionAttempt15 ConnectionAttempt(const IPEndPoint endpoint, int result) 16 : endpoint(endpoint), result(result) {} 17 18 bool operator==(const ConnectionAttempt& other) const { 19 return endpoint == other.endpoint && result == other.result; 20 } 21 22 // Address and port the socket layer attempted to connect to. 23 IPEndPoint endpoint; 24 25 // Net error indicating the result of that attempt. 26 int result; 27 }; 28 29 // Multiple connection attempts, as might be tracked in an HttpTransaction or a 30 // URLRequest. Order is insignificant. 31 typedef std::vector<ConnectionAttempt> ConnectionAttempts; 32 33 } // namespace net 34 35 #endif // NET_SOCKET_CONNECTION_ATTEMPTS_H_ 36