diff options
Diffstat (limited to 'net/tools/quic/test_tools/packet_dropping_test_writer.h')
-rw-r--r-- | net/tools/quic/test_tools/packet_dropping_test_writer.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/net/tools/quic/test_tools/packet_dropping_test_writer.h b/net/tools/quic/test_tools/packet_dropping_test_writer.h index 943551e..d35f67f 100644 --- a/net/tools/quic/test_tools/packet_dropping_test_writer.h +++ b/net/tools/quic/test_tools/packet_dropping_test_writer.h @@ -9,6 +9,7 @@ #include "base/logging.h" #include "base/memory/scoped_ptr.h" +#include "base/synchronization/lock.h" #include "net/quic/quic_alarm.h" #include "net/quic/quic_blocked_writer_interface.h" #include "net/quic/quic_packet_writer.h" @@ -49,6 +50,7 @@ class PacketDroppingTestWriter : public net::test::QuicTestWriter { // The percent of time a packet is simulated as being lost. void set_fake_packet_loss_percentage(int32 fake_packet_loss_percentage) { + base::AutoLock locked(config_mutex_); fake_packet_loss_percentage_ = fake_packet_loss_percentage; } @@ -57,12 +59,14 @@ class PacketDroppingTestWriter : public net::test::QuicTestWriter { void set_fake_blocked_socket_percentage( int32 fake_blocked_socket_percentage) { DCHECK(clock_); + base::AutoLock locked(config_mutex_); fake_blocked_socket_percentage_ = fake_blocked_socket_percentage; } // The percent of time a packet is simulated as being reordered. void set_fake_reorder_percentage(int32 fake_packet_reorder_percentage) { DCHECK(clock_); + base::AutoLock locked(config_mutex_); DCHECK(!fake_packet_delay_.IsZero()); fake_packet_reorder_percentage_ = fake_packet_reorder_percentage; } @@ -71,6 +75,7 @@ class PacketDroppingTestWriter : public net::test::QuicTestWriter { // to WRITE_STATUS_BLOCKED. void set_fake_packet_delay(QuicTime::Delta fake_packet_delay) { DCHECK(clock_); + base::AutoLock locked(config_mutex_); fake_packet_delay_ = fake_packet_delay; } @@ -101,12 +106,14 @@ class PacketDroppingTestWriter : public net::test::QuicTestWriter { scoped_ptr<QuicAlarm> write_unblocked_alarm_; scoped_ptr<QuicAlarm> delay_alarm_; QuicBlockedWriterInterface* blocked_writer_; + SimpleRandom simple_random_; + DelayedPacketList delayed_packets_; + + base::Lock config_mutex_; int32 fake_packet_loss_percentage_; int32 fake_blocked_socket_percentage_; int32 fake_packet_reorder_percentage_; QuicTime::Delta fake_packet_delay_; - SimpleRandom simple_random_; - DelayedPacketList delayed_packets_; DISALLOW_COPY_AND_ASSIGN(PacketDroppingTestWriter); }; |