| 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.
|
|
|