Index: net/tools/quic/test_tools/packet_dropping_test_writer.h |
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 cde5c13649b7f1f8dd846560ce2733f17f1f8733..d451feca5e23d0ba8cb66d09ebd0cf8a7369ba37 100644 |
--- a/net/tools/quic/test_tools/packet_dropping_test_writer.h |
+++ b/net/tools/quic/test_tools/packet_dropping_test_writer.h |
@@ -27,11 +27,21 @@ namespace test { |
// the options to delay packets and reorder packets if delay is enabled. |
class PacketDroppingTestWriter : public QuicPacketWriterWrapper { |
public: |
+ class Delegate { |
+ public: |
+ virtual ~Delegate() {} |
+ virtual void OnCanWrite() = 0; |
+ }; |
+ |
PacketDroppingTestWriter(); |
virtual ~PacketDroppingTestWriter(); |
- void SetConnectionHelper(QuicEpollConnectionHelper* helper); |
+ // Must be called before blocking, reordering or delaying (loss is OK). May be |
+ // called after connecting if the helper is not available before. |
+ // |on_can_write| will be triggered when fake-unblocking; ownership will be |
+ // assumed. |
+ void Initialize(QuicEpollConnectionHelper* helper, Delegate* on_can_write); |
// QuicPacketWriter methods: |
virtual WriteResult WritePacket( |
@@ -50,7 +60,7 @@ class PacketDroppingTestWriter : public QuicPacketWriterWrapper { |
// for the next delayed packet to be written. |
QuicTime ReleaseOldPackets(); |
- QuicBlockedWriterInterface* blocked_writer() { return blocked_writer_; } |
+ void OnCanWrite(); |
// The percent of time a packet is simulated as being lost. |
void set_fake_packet_loss_percentage(int32 fake_packet_loss_percentage) { |
@@ -125,7 +135,7 @@ class PacketDroppingTestWriter : public QuicPacketWriterWrapper { |
const QuicClock* clock_; |
scoped_ptr<QuicAlarm> write_unblocked_alarm_; |
scoped_ptr<QuicAlarm> delay_alarm_; |
- QuicBlockedWriterInterface* blocked_writer_; |
+ scoped_ptr<Delegate> on_can_write_; |
SimpleRandom simple_random_; |
// Stored packets delayed by fake packet delay or bandwidth restrictions. |
DelayedPacketList delayed_packets_; |