| Index: net/quic/quic_packet_generator.h
|
| diff --git a/net/quic/quic_packet_generator.h b/net/quic/quic_packet_generator.h
|
| index e5b8de4d3fc97d8bcf84017607cfb31e9749c6d0..d408aeab31b4eded5ebb60b4c6c54f88feda0ed4 100644
|
| --- a/net/quic/quic_packet_generator.h
|
| +++ b/net/quic/quic_packet_generator.h
|
| @@ -91,9 +91,10 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
|
| virtual void OnFrameAddedToPacket(const QuicFrame& frame) {}
|
| };
|
|
|
| - QuicPacketGenerator(DelegateInterface* delegate,
|
| - DebugDelegate* debug_delegate,
|
| - QuicPacketCreator* creator);
|
| + QuicPacketGenerator(QuicConnectionId connection_id,
|
| + QuicFramer* framer,
|
| + QuicRandom* random_generator,
|
| + DelegateInterface* delegate);
|
|
|
| virtual ~QuicPacketGenerator();
|
|
|
| @@ -137,6 +138,42 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
|
|
|
| bool HasQueuedFrames() const;
|
|
|
| + // Makes the framer not serialize the protocol version in sent packets.
|
| + void StopSendingVersion();
|
| +
|
| + // Creates a version negotiation packet which supports |supported_versions|.
|
| + // Caller owns the created packet. Also, sets the entropy hash of the
|
| + // serialized packet to a random bool and returns that value as a member of
|
| + // SerializedPacket.
|
| + QuicEncryptedPacket* SerializeVersionNegotiationPacket(
|
| + const QuicVersionVector& supported_versions);
|
| +
|
| +
|
| + // Re-serializes frames with the original packet's sequence number length.
|
| + // Used for retransmitting packets to ensure they aren't too long.
|
| + // Caller must ensure that any open FEC group is closed before calling this
|
| + // method.
|
| + SerializedPacket ReserializeAllFrames(
|
| + const QuicFrames& frames,
|
| + QuicSequenceNumberLength original_length);
|
| +
|
| + // Update the sequence number length to use in future packets as soon as it
|
| + // can be safely changed.
|
| + void UpdateSequenceNumberLength(
|
| + QuicPacketSequenceNumber least_packet_awaited_by_peer,
|
| + QuicByteCount congestion_window);
|
| +
|
| + // Sets the encryption level that will be applied to new packets.
|
| + void set_encryption_level(EncryptionLevel level);
|
| +
|
| + // Sequence number of the last created packet, or 0 if no packets have been
|
| + // created.
|
| + QuicPacketSequenceNumber sequence_number() const;
|
| +
|
| + size_t max_packet_length() const;
|
| +
|
| + void set_max_packet_length(size_t length);
|
| +
|
| void set_debug_delegate(DebugDelegate* debug_delegate) {
|
| debug_delegate_ = debug_delegate;
|
| }
|
| @@ -176,7 +213,7 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
|
| DelegateInterface* delegate_;
|
| DebugDelegate* debug_delegate_;
|
|
|
| - QuicPacketCreator* packet_creator_;
|
| + QuicPacketCreator packet_creator_;
|
| QuicFrames queued_control_frames_;
|
|
|
| // True if batch mode is currently enabled.
|
|
|