blob: 6be283083a6c2c648feb46d439378e79936ac7ba [file] [log] [blame]
ttuttle1f2d7e92015-04-28 16:17:471// Copyright 2015 The Chromium Authors. All rights reserved.
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
10namespace 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.
14struct ConnectionAttempt {
15 ConnectionAttempt(const IPEndPoint endpoint, int result)
16 : endpoint(endpoint), result(result) {}
17
David Benjaminb650b072022-05-03 00:01:2418 bool operator==(const ConnectionAttempt& other) const {
19 return endpoint == other.endpoint && result == other.result;
20 }
21
ttuttle1f2d7e92015-04-28 16:17:4722 // 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
ttuttle23fdb7b2015-05-15 01:28:0329// Multiple connection attempts, as might be tracked in an HttpTransaction or a
30// URLRequest. Order is insignificant.
ttuttle1f2d7e92015-04-28 16:17:4731typedef std::vector<ConnectionAttempt> ConnectionAttempts;
32
33} // namespace net
34
35#endif // NET_SOCKET_CONNECTION_ATTEMPTS_H_