/* * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #include "modules/pacing/packet_queue_interface.h" namespace webrtc { PacketQueueInterface::Packet::Packet(RtpPacketSender::Priority priority, uint32_t ssrc, uint16_t seq_number, int64_t capture_time_ms, int64_t enqueue_time_ms, size_t length_in_bytes, bool retransmission, uint64_t enqueue_order) : priority(priority), ssrc(ssrc), sequence_number(seq_number), capture_time_ms(capture_time_ms), enqueue_time_ms(enqueue_time_ms), sum_paused_ms(0), bytes(length_in_bytes), retransmission(retransmission), enqueue_order(enqueue_order) {} PacketQueueInterface::Packet::Packet(const Packet& other) = default; PacketQueueInterface::Packet::~Packet() {} bool PacketQueueInterface::Packet::operator<( const PacketQueueInterface::Packet& other) const { if (priority != other.priority) return priority > other.priority; if (retransmission != other.retransmission) return other.retransmission; return enqueue_order > other.enqueue_order; } } // namespace webrtc