blob: a40748f48cf653cdd57578bdb7d531c2dac9a592 [file] [log] [blame]
// Copyright (c) 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "net/third_party/quiche/src/quic/quartc/test/random_packet_filter.h"
namespace quic {
namespace simulator {
RandomPacketFilter::RandomPacketFilter(Simulator* simulator,
const std::string& name,
Endpoint* endpoint)
: PacketFilter(simulator, name, endpoint), simulator_(simulator) {}
bool RandomPacketFilter::FilterPacket(const Packet& /*packet*/) {
uint64_t random = simulator_->GetRandomGenerator()->RandUint64();
return 100 * static_cast<double>(random) /
std::numeric_limits<uint64_t>::max() >=
loss_percent_;
}
} // namespace simulator
} // namespace quic