CHECK_GT(max_megabits_per_second, 0);
}
- virtual void Send(scoped_ptr<Packet> packet) OVERRIDE {
+ void Send(scoped_ptr<Packet> packet) override {
if (packet->size() + buffer_size_ <= max_buffer_size_) {
buffer_size_ += packet->size();
buffer_.push_back(linked_ptr<Packet>(packet.release()));
RandomDrop(double drop_fraction)
: drop_fraction_(static_cast<int>(drop_fraction * RAND_MAX)) {}
- virtual void Send(scoped_ptr<Packet> packet) OVERRIDE {
+ void Send(scoped_ptr<Packet> packet) override {
if (rand() > drop_fraction_) {
pipe_->Send(packet.Pass());
}
class SimpleDelayBase : public PacketPipe {
public:
SimpleDelayBase() : weak_factory_(this) {}
- virtual ~SimpleDelayBase() {}
+ ~SimpleDelayBase() override {}
- virtual void Send(scoped_ptr<Packet> packet) OVERRIDE {
+ void Send(scoped_ptr<Packet> packet) override {
double seconds = GetDelay();
task_runner_->PostDelayedTask(
FROM_HERE,
class ConstantDelay : public SimpleDelayBase {
public:
ConstantDelay(double delay_seconds) : delay_seconds_(delay_seconds) {}
- virtual double GetDelay() OVERRIDE {
- return delay_seconds_;
- }
+ double GetDelay() override { return delay_seconds_; }
private:
double delay_seconds_;
public:
RandomUnsortedDelay(double random_delay) : random_delay_(random_delay) {}
- virtual double GetDelay() OVERRIDE {
- return random_delay_ * base::RandDouble();
- }
+ double GetDelay() override { return random_delay_ * base::RandDouble(); }
private:
double random_delay_;
RandomUnsortedDelay(random_delay),
delay_min_(delay_min) {
}
- virtual void Send(scoped_ptr<Packet> packet) OVERRIDE {
+ void Send(scoped_ptr<Packet> packet) override {
pipe_->Send(scoped_ptr<Packet>(new Packet(*packet.get())));
RandomUnsortedDelay::Send(packet.Pass());
}
- virtual double GetDelay() OVERRIDE {
+ double GetDelay() override {
return RandomUnsortedDelay::GetDelay() + delay_min_;
}
private:
seconds_between_extra_delay_(seconds_between_extra_delay),
weak_factory_(this) {}
- virtual void Send(scoped_ptr<Packet> packet) OVERRIDE {
+ void Send(scoped_ptr<Packet> packet) override {
buffer_.push_back(linked_ptr<Packet>(packet.release()));
if (buffer_.size() == 1) {
next_send_ = std::max(
ProcessBuffer();
}
}
- virtual void InitOnIOThread(
+ void InitOnIOThread(
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
- base::TickClock* clock) OVERRIDE {
+ base::TickClock* clock) override {
PacketPipe::InitOnIOThread(task_runner, clock);
// As we start the stream, assume that we are in a random
// place between two extra delays, thus multiplier = 1.0;
max_outage_time_(average_outage_time * 2),
weak_factory_(this) {}
- virtual void InitOnIOThread(
+ void InitOnIOThread(
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
- base::TickClock* clock) OVERRIDE {
+ base::TickClock* clock) override {
PacketPipe::InitOnIOThread(task_runner, clock);
Flip();
}
- virtual void Send(scoped_ptr<Packet> packet) OVERRIDE {
+ void Send(scoped_ptr<Packet> packet) override {
if (works_) {
pipe_->Send(packet.Pass());
}
weak_factory_(this) {
}
- virtual void Send(scoped_ptr<Packet> packet) OVERRIDE {
+ void Send(scoped_ptr<Packet> packet) override {
// Drop if buffer is full.
if (stored_size_ >= stored_limit_)
return;
DCHECK(buffer_.size() == buffer_time_.size());
}
- virtual void InitOnIOThread(
+ void InitOnIOThread(
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
- base::TickClock* clock) OVERRIDE {
+ base::TickClock* clock) override {
clock_ = clock;
if (ipp_)
ipp_->InitOnIOThread(task_runner, clock);
scoped_ptr<InternalBuffer> buffer(
new InternalBuffer(weak_factory_.GetWeakPtr(), size));
send_buffers_.push_back(buffer->GetWeakPtr());
- return buffer.PassAs<PacketPipe>();
+ return buffer.Pass();
}
base::TimeDelta InterruptedPoissonProcess::NextEvent(double rate) {
public:
PacketSender(UDPProxyImpl* udp_proxy, const net::IPEndPoint* destination)
: udp_proxy_(udp_proxy), destination_(destination) {}
- virtual void Send(scoped_ptr<Packet> packet) OVERRIDE;
- virtual void AppendToPipe(scoped_ptr<PacketPipe> pipe) OVERRIDE {
- NOTREACHED();
- }
+ void Send(scoped_ptr<Packet> packet) override;
+ void AppendToPipe(scoped_ptr<PacketPipe> pipe) override { NOTREACHED(); }
private:
UDPProxyImpl* udp_proxy_;
start_event.Wait();
}
- virtual ~UDPProxyImpl() {
+ ~UDPProxyImpl() override {
base::WaitableEvent stop_event(false, false);
proxy_thread_.message_loop_proxy()->PostTask(
FROM_HERE,