xref: /aosp_15_r20/external/cronet/net/socket/connection_attempts.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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