147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org/* 247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org * Copyright 2004 The WebRTC Project Authors. All rights reserved. 347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org * 447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org * Use of this source code is governed by a BSD-style license 547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org * that can be found in the LICENSE file in the root of the source 647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org * tree. An additional intellectual property rights grant can be found 747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org * in the file PATENTS. All contributing project authors may 847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org * be found in the AUTHORS file in the root of the source tree. 947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org */ 1047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 1147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#include "webrtc/base/socketaddresspair.h" 1247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 1347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgnamespace rtc { 1447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 1547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgSocketAddressPair::SocketAddressPair( 1647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org const SocketAddress& src, const SocketAddress& dest) 1747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org : src_(src), dest_(dest) { 1847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org} 1947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 2047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 2147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgbool SocketAddressPair::operator ==(const SocketAddressPair& p) const { 2247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org return (src_ == p.src_) && (dest_ == p.dest_); 2347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org} 2447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 2547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgbool SocketAddressPair::operator <(const SocketAddressPair& p) const { 2647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org if (src_ < p.src_) 2747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org return true; 2847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org if (p.src_ < src_) 2947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org return false; 3047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org if (dest_ < p.dest_) 3147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org return true; 3247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org if (p.dest_ < dest_) 3347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org return false; 3447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org return false; 3547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org} 3647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 3747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgsize_t SocketAddressPair::Hash() const { 3847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org return src_.Hash() ^ dest_.Hash(); 3947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org} 4047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 4147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org} // namespace rtc 42