blob: 914ffd9916fe48ffc4e713ff70802015e14a29b4 [file] [log] [blame]
henrike@webrtc.orgf0488722014-05-13 18:00:26 +00001/*
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#include "rtc_base/socketaddresspair.h"
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000012
13namespace rtc {
14
Yves Gerey665174f2018-06-19 15:03:05 +020015SocketAddressPair::SocketAddressPair(const SocketAddress& src,
16 const SocketAddress& dest)
17 : src_(src), dest_(dest) {}
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000018
Yves Gerey665174f2018-06-19 15:03:05 +020019bool SocketAddressPair::operator==(const SocketAddressPair& p) const {
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000020 return (src_ == p.src_) && (dest_ == p.dest_);
21}
22
Yves Gerey665174f2018-06-19 15:03:05 +020023bool SocketAddressPair::operator<(const SocketAddressPair& p) const {
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000024 if (src_ < p.src_)
25 return true;
26 if (p.src_ < src_)
27 return false;
28 if (dest_ < p.dest_)
29 return true;
30 if (p.dest_ < dest_)
31 return false;
32 return false;
33}
34
35size_t SocketAddressPair::Hash() const {
36 return src_.Hash() ^ dest_.Hash();
37}
38
Yves Gerey665174f2018-06-19 15:03:05 +020039} // namespace rtc