| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef NET_QUIC_QUIC_FRAMER_H_ | 5 #ifndef NET_QUIC_QUIC_FRAMER_H_ |
| 6 #define NET_QUIC_QUIC_FRAMER_H_ | 6 #define NET_QUIC_QUIC_FRAMER_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 bool ProcessPacket(const QuicEncryptedPacket& packet); | 248 bool ProcessPacket(const QuicEncryptedPacket& packet); |
| 249 | 249 |
| 250 // Pass a data packet that was revived from FEC data into the framer | 250 // Pass a data packet that was revived from FEC data into the framer |
| 251 // for parsing. | 251 // for parsing. |
| 252 // Return true if the packet was processed succesfully. |payload| must be | 252 // Return true if the packet was processed succesfully. |payload| must be |
| 253 // the complete DECRYPTED payload of the revived packet. | 253 // the complete DECRYPTED payload of the revived packet. |
| 254 bool ProcessRevivedPacket(QuicPacketHeader* header, | 254 bool ProcessRevivedPacket(QuicPacketHeader* header, |
| 255 base::StringPiece payload); | 255 base::StringPiece payload); |
| 256 | 256 |
| 257 // Largest size in bytes of all stream frame fields without the payload. | 257 // Largest size in bytes of all stream frame fields without the payload. |
| 258 static size_t GetMinStreamFrameSize(QuicVersion version, | 258 static size_t GetMinStreamFrameSize(QuicStreamId stream_id, |
| 259 QuicStreamId stream_id, | |
| 260 QuicStreamOffset offset, | 259 QuicStreamOffset offset, |
| 261 bool last_frame_in_packet, | 260 bool last_frame_in_packet, |
| 262 InFecGroup is_in_fec_group); | 261 InFecGroup is_in_fec_group); |
| 263 // Size in bytes of all ack frame fields without the missing packets. | 262 // Size in bytes of all ack frame fields without the missing packets. |
| 264 static size_t GetMinAckFrameSize( | 263 static size_t GetMinAckFrameSize( |
| 265 QuicVersion version, | |
| 266 QuicSequenceNumberLength sequence_number_length, | 264 QuicSequenceNumberLength sequence_number_length, |
| 267 QuicSequenceNumberLength largest_observed_length); | 265 QuicSequenceNumberLength largest_observed_length); |
| 268 // Size in bytes of a stop waiting frame. | 266 // Size in bytes of a stop waiting frame. |
| 269 static size_t GetStopWaitingFrameSize( | 267 static size_t GetStopWaitingFrameSize( |
| 270 QuicSequenceNumberLength sequence_number_length); | 268 QuicSequenceNumberLength sequence_number_length); |
| 271 // Size in bytes of all reset stream frame without the error details. | 269 // Size in bytes of all reset stream frame without the error details. |
| 272 static size_t GetMinRstStreamFrameSize(QuicVersion quic_version); | 270 static size_t GetMinRstStreamFrameSize(); |
| 273 // Size in bytes of all connection close frame fields without the error | 271 // Size in bytes of all connection close frame fields without the error |
| 274 // details and the missing packets from the enclosed ack frame. | 272 // details and the missing packets from the enclosed ack frame. |
| 275 static size_t GetMinConnectionCloseFrameSize(); | 273 static size_t GetMinConnectionCloseFrameSize(); |
| 276 // Size in bytes of all GoAway frame fields without the reason phrase. | 274 // Size in bytes of all GoAway frame fields without the reason phrase. |
| 277 static size_t GetMinGoAwayFrameSize(); | 275 static size_t GetMinGoAwayFrameSize(); |
| 278 // Size in bytes of all WindowUpdate frame fields. | 276 // Size in bytes of all WindowUpdate frame fields. |
| 279 static size_t GetWindowUpdateFrameSize(); | 277 static size_t GetWindowUpdateFrameSize(); |
| 280 // Size in bytes of all Blocked frame fields. | 278 // Size in bytes of all Blocked frame fields. |
| 281 static size_t GetBlockedFrameSize(); | 279 static size_t GetBlockedFrameSize(); |
| 282 // Size in bytes required to serialize the stream id. | 280 // Size in bytes required to serialize the stream id. |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 bool ProcessPublicHeader(QuicPacketPublicHeader* header); | 401 bool ProcessPublicHeader(QuicPacketPublicHeader* header); |
| 404 | 402 |
| 405 bool ProcessPacketHeader(QuicPacketHeader* header, | 403 bool ProcessPacketHeader(QuicPacketHeader* header, |
| 406 const QuicEncryptedPacket& packet); | 404 const QuicEncryptedPacket& packet); |
| 407 | 405 |
| 408 bool ProcessPacketSequenceNumber( | 406 bool ProcessPacketSequenceNumber( |
| 409 QuicSequenceNumberLength sequence_number_length, | 407 QuicSequenceNumberLength sequence_number_length, |
| 410 QuicPacketSequenceNumber* sequence_number); | 408 QuicPacketSequenceNumber* sequence_number); |
| 411 bool ProcessFrameData(const QuicPacketHeader& header); | 409 bool ProcessFrameData(const QuicPacketHeader& header); |
| 412 bool ProcessStreamFrame(uint8 frame_type, QuicStreamFrame* frame); | 410 bool ProcessStreamFrame(uint8 frame_type, QuicStreamFrame* frame); |
| 413 bool ProcessAckFrame(const QuicPacketHeader& header, | 411 bool ProcessAckFrame(uint8 frame_type, QuicAckFrame* frame); |
| 414 uint8 frame_type, | |
| 415 QuicAckFrame* frame); | |
| 416 bool ProcessReceivedInfo(uint8 frame_type, ReceivedPacketInfo* received_info); | |
| 417 bool ProcessStopWaitingFrame(const QuicPacketHeader& public_header, | 412 bool ProcessStopWaitingFrame(const QuicPacketHeader& public_header, |
| 418 QuicStopWaitingFrame* stop_waiting); | 413 QuicStopWaitingFrame* stop_waiting); |
| 419 bool ProcessQuicCongestionFeedbackFrame( | 414 bool ProcessQuicCongestionFeedbackFrame( |
| 420 QuicCongestionFeedbackFrame* congestion_feedback); | 415 QuicCongestionFeedbackFrame* congestion_feedback); |
| 421 bool ProcessRstStreamFrame(QuicRstStreamFrame* frame); | 416 bool ProcessRstStreamFrame(QuicRstStreamFrame* frame); |
| 422 bool ProcessConnectionCloseFrame(QuicConnectionCloseFrame* frame); | 417 bool ProcessConnectionCloseFrame(QuicConnectionCloseFrame* frame); |
| 423 bool ProcessGoAwayFrame(QuicGoAwayFrame* frame); | 418 bool ProcessGoAwayFrame(QuicGoAwayFrame* frame); |
| 424 bool ProcessWindowUpdateFrame(QuicWindowUpdateFrame* frame); | 419 bool ProcessWindowUpdateFrame(QuicWindowUpdateFrame* frame); |
| 425 bool ProcessBlockedFrame(QuicBlockedFrame* frame); | 420 bool ProcessBlockedFrame(QuicBlockedFrame* frame); |
| 426 | 421 |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 532 // The time this frames was created. Time written to the wire will be | 527 // The time this frames was created. Time written to the wire will be |
| 533 // written as a delta from this value. | 528 // written as a delta from this value. |
| 534 QuicTime creation_time_; | 529 QuicTime creation_time_; |
| 535 | 530 |
| 536 DISALLOW_COPY_AND_ASSIGN(QuicFramer); | 531 DISALLOW_COPY_AND_ASSIGN(QuicFramer); |
| 537 }; | 532 }; |
| 538 | 533 |
| 539 } // namespace net | 534 } // namespace net |
| 540 | 535 |
| 541 #endif // NET_QUIC_QUIC_FRAMER_H_ | 536 #endif // NET_QUIC_QUIC_FRAMER_H_ |
| OLD | NEW |