OLD | NEW |
| (Empty) |
1 // Copyright 2014 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_QUIC_QUIC_ADDRESS_MISMATCH_H_ | |
6 #define NET_QUIC_QUIC_ADDRESS_MISMATCH_H_ | |
7 | |
8 #include "net/base/ip_endpoint.h" | |
9 #include "net/base/net_export.h" | |
10 | |
11 namespace net { | |
12 | |
13 enum QuicAddressMismatch { | |
14 // The addresses don't match. | |
15 QUIC_ADDRESS_MISMATCH_BASE = 0, | |
16 QUIC_ADDRESS_MISMATCH_V4_V4 = 0, | |
17 QUIC_ADDRESS_MISMATCH_V6_V6 = 1, | |
18 QUIC_ADDRESS_MISMATCH_V4_V6 = 2, | |
19 QUIC_ADDRESS_MISMATCH_V6_V4 = 3, | |
20 | |
21 // The addresses match, but the ports don't match. | |
22 QUIC_PORT_MISMATCH_BASE = 4, | |
23 QUIC_PORT_MISMATCH_V4_V4 = 4, | |
24 QUIC_PORT_MISMATCH_V6_V6 = 5, | |
25 | |
26 QUIC_ADDRESS_AND_PORT_MATCH_BASE = 6, | |
27 QUIC_ADDRESS_AND_PORT_MATCH_V4_V4 = 6, | |
28 QUIC_ADDRESS_AND_PORT_MATCH_V6_V6 = 7, | |
29 | |
30 QUIC_ADDRESS_MISMATCH_MAX, | |
31 }; | |
32 | |
33 // Returns a value of the QuicAddressMismatch enum type that indicates how | |
34 // |first_address| differs from |second_address|. Returns -1 if either address | |
35 // is empty. | |
36 // | |
37 // Only used by the Net.QuicSession.PublicResetAddressMismatch histogram. | |
38 NET_EXPORT_PRIVATE int GetAddressMismatch(const IPEndPoint& first_address, | |
39 const IPEndPoint& second_address); | |
40 | |
41 } // namespace net | |
42 | |
43 #endif // NET_QUIC_QUIC_ADDRESS_MISMATCH_H_ | |
OLD | NEW |