Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / net / quic / quic_address_mismatch.h
blob3179c20a93a2f7384c81c2211a675e1443ad66bb
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.
5 #ifndef NET_QUIC_QUIC_ADDRESS_MISMATCH_H_
6 #define NET_QUIC_QUIC_ADDRESS_MISMATCH_H_
8 #include "net/base/net_export.h"
10 namespace net {
12 class IPEndPoint;
14 enum QuicAddressMismatch {
15 // The addresses don't match.
16 QUIC_ADDRESS_MISMATCH_BASE = 0,
17 QUIC_ADDRESS_MISMATCH_V4_V4 = 0,
18 QUIC_ADDRESS_MISMATCH_V6_V6 = 1,
19 QUIC_ADDRESS_MISMATCH_V4_V6 = 2,
20 QUIC_ADDRESS_MISMATCH_V6_V4 = 3,
22 // The addresses match, but the ports don't match.
23 QUIC_PORT_MISMATCH_BASE = 4,
24 QUIC_PORT_MISMATCH_V4_V4 = 4,
25 QUIC_PORT_MISMATCH_V6_V6 = 5,
27 QUIC_ADDRESS_AND_PORT_MATCH_BASE = 6,
28 QUIC_ADDRESS_AND_PORT_MATCH_V4_V4 = 6,
29 QUIC_ADDRESS_AND_PORT_MATCH_V6_V6 = 7,
31 QUIC_ADDRESS_MISMATCH_MAX,
34 // Returns a value of the QuicAddressMismatch enum type that indicates how
35 // |first_address| differs from |second_address|. Returns -1 if either address
36 // is empty.
38 // Only used by the Net.QuicSession.PublicResetAddressMismatch histogram.
39 NET_EXPORT_PRIVATE int GetAddressMismatch(const IPEndPoint& first_address,
40 const IPEndPoint& second_address);
42 } // namespace net
44 #endif // NET_QUIC_QUIC_ADDRESS_MISMATCH_H_