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 #include "net/quic/quic_server_id.h"
11 QuicServerId::QuicServerId() {}
13 QuicServerId::QuicServerId(const HostPortPair
& host_port_pair
,
15 PrivacyMode privacy_mode
)
16 : host_port_pair_(host_port_pair
),
18 privacy_mode_(privacy_mode
) {}
20 QuicServerId::QuicServerId(const string
& host
,
23 : host_port_pair_(host
, port
),
25 privacy_mode_(PRIVACY_MODE_DISABLED
) {}
27 QuicServerId::QuicServerId(const string
& host
,
30 PrivacyMode privacy_mode
)
31 : host_port_pair_(host
, port
),
33 privacy_mode_(privacy_mode
) {}
35 QuicServerId::~QuicServerId() {}
37 bool QuicServerId::operator<(const QuicServerId
& other
) const {
38 if (!host_port_pair_
.Equals(other
.host_port_pair_
)) {
39 return host_port_pair_
< other
.host_port_pair_
;
41 if (is_https_
!= other
.is_https_
) {
42 return is_https_
< other
.is_https_
;
44 return privacy_mode_
< other
.privacy_mode_
;
47 bool QuicServerId::operator==(const QuicServerId
& other
) const {
48 return is_https_
== other
.is_https_
&&
49 privacy_mode_
== other
.privacy_mode_
&&
50 host_port_pair_
.Equals(other
.host_port_pair_
);
53 string
QuicServerId::ToString() const {
54 return (is_https_
? "https://" : "http://") + host_port_pair_
.ToString() +
55 (privacy_mode_
== PRIVACY_MODE_ENABLED
? "/private" : "");