blob: 63579bbf423e0f26421040202b4429c98defd192 [file] [log] [blame]
Avi Drissman64595482022-09-14 20:52:291// Copyright 2015 The Chromium Authors
ttuttle1f2d7e92015-04-28 16:17:472// 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_