Index: net/quic/quic_framer.h |
diff --git a/net/quic/quic_framer.h b/net/quic/quic_framer.h |
index 0504d3d8854677df586df6e201e37e5751d6c12a..3cfaa88d37201bd1dfd5892b4752b9a4eb4d3d54 100644 |
--- a/net/quic/quic_framer.h |
+++ b/net/quic/quic_framer.h |
@@ -301,18 +301,19 @@ class NET_EXPORT_PRIVATE QuicFramer { |
bool includes_version, |
QuicSequenceNumberLength sequence_number_length); |
- // Returns a SerializedPacket whose |packet| member is owned by the caller, |
- // is created from the first |num_frames| frames, or is nullptr if the packet |
- // could not be created. The packet must be of size |packet_size|. |
- SerializedPacket BuildDataPacket(const QuicPacketHeader& header, |
- const QuicFrames& frames, |
- size_t packet_size); |
- |
- // Returns a SerializedPacket whose |packet| member is owned by the caller, |
- // and is populated with the fields in |header| and |fec|, or is nullptr if |
- // the packet could not be created. |
- SerializedPacket BuildFecPacket(const QuicPacketHeader& header, |
- const QuicFecData& fec); |
+ // Returns a QuicPacket* that is owned by the caller, is created from |
+ // |frames|. Returns nullptr if the packet could not be created. |
+ // The packet must be of size |packet_size|. |
+ QuicPacket* BuildDataPacket(const QuicPacketHeader& header, |
+ const QuicFrames& frames, |
+ char* buffer, |
+ size_t packet_length); |
+ |
+ // Returns a QuicPacket* that is owned by the caller, and is populated with |
+ // the fields in |header| and |fec|. Returns nullptr if the packet could |
+ // not be created. |
+ QuicPacket* BuildFecPacket(const QuicPacketHeader& header, |
+ const QuicFecData& fec); |
// Returns a new public reset packet, owned by the caller. |
static QuicEncryptedPacket* BuildPublicResetPacket( |
@@ -371,6 +372,9 @@ class NET_EXPORT_PRIVATE QuicFramer { |
bool is_server() const { return is_server_; } |
+ static QuicPacketEntropyHash GetPacketEntropyHash( |
+ const QuicPacketHeader& header); |
+ |
private: |
friend class test::QuicFramerPeer; |
@@ -386,11 +390,10 @@ class NET_EXPORT_PRIVATE QuicFramer { |
NackRangeMap nack_ranges; |
}; |
- QuicPacketEntropyHash GetPacketEntropyHash( |
- const QuicPacketHeader& header) const; |
- |
bool ProcessDataPacket(const QuicPacketPublicHeader& public_header, |
- const QuicEncryptedPacket& packet); |
+ const QuicEncryptedPacket& packet, |
+ char* decrypted_buffer, |
+ size_t buffer_length); |
bool ProcessPublicResetPacket(const QuicPacketPublicHeader& public_header); |
@@ -398,8 +401,12 @@ class NET_EXPORT_PRIVATE QuicFramer { |
bool ProcessPublicHeader(QuicPacketPublicHeader* header); |
+ // |decrypted_buffer| must be allocated to be large enough to hold the |
+ // unencrypted contents of |packet|. |
bool ProcessPacketHeader(QuicPacketHeader* header, |
- const QuicEncryptedPacket& packet); |
+ const QuicEncryptedPacket& packet, |
+ char* decrypted_buffer, |
+ size_t buffer_length); |
bool ProcessPacketSequenceNumber( |
QuicSequenceNumberLength sequence_number_length, |
@@ -417,7 +424,9 @@ class NET_EXPORT_PRIVATE QuicFramer { |
bool ProcessBlockedFrame(QuicBlockedFrame* frame); |
bool DecryptPayload(const QuicPacketHeader& header, |
- const QuicEncryptedPacket& packet); |
+ const QuicEncryptedPacket& packet, |
+ char* decrypted_buffer, |
+ size_t buffer_length); |
// Returns the full packet sequence number from the truncated |
// wire format version and the last seen packet sequence number. |
@@ -497,8 +506,6 @@ class NET_EXPORT_PRIVATE QuicFramer { |
QuicPacketSequenceNumber last_sequence_number_; |
// Updated by WritePacketHeader. |
QuicConnectionId last_serialized_connection_id_; |
- // Buffer containing decrypted payload data during parsing. |
- scoped_ptr<QuicData> decrypted_; |
// Version of the protocol being used. |
QuicVersion quic_version_; |
// This vector contains QUIC versions which we currently support. |