| 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 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 // and 0 if the frame doesn't fit. Includes the header size for the first | 241 // and 0 if the frame doesn't fit. Includes the header size for the first |
| 242 // frame. | 242 // frame. |
| 243 size_t GetSerializedFrameLength( | 243 size_t GetSerializedFrameLength( |
| 244 const QuicFrame& frame, size_t free_bytes, bool first_frame); | 244 const QuicFrame& frame, size_t free_bytes, bool first_frame); |
| 245 | 245 |
| 246 // Returns the associated data from the encrypted packet |encrypted| as a | 246 // Returns the associated data from the encrypted packet |encrypted| as a |
| 247 // stringpiece. | 247 // stringpiece. |
| 248 static base::StringPiece GetAssociatedDataFromEncryptedPacket( | 248 static base::StringPiece GetAssociatedDataFromEncryptedPacket( |
| 249 const QuicEncryptedPacket& encrypted, | 249 const QuicEncryptedPacket& encrypted, |
| 250 QuicGuidLength guid_length, | 250 QuicGuidLength guid_length, |
| 251 bool includes_version); | 251 bool includes_version, |
| 252 QuicSequenceNumberLength sequence_number_length); |
| 252 | 253 |
| 253 // Returns a SerializedPacket whose |packet| member is owned by the caller, | 254 // Returns a SerializedPacket whose |packet| member is owned by the caller, |
| 254 // and is populated with the fields in |header| and |frames|, or is NULL if | 255 // and is populated with the fields in |header| and |frames|, or is NULL if |
| 255 // the packet could not be created. | 256 // the packet could not be created. |
| 256 // TODO(ianswett): Used for testing only. | 257 // TODO(ianswett): Used for testing only. |
| 257 SerializedPacket ConstructFrameDataPacket(const QuicPacketHeader& header, | 258 SerializedPacket ConstructFrameDataPacket(const QuicPacketHeader& header, |
| 258 const QuicFrames& frames); | 259 const QuicFrames& frames); |
| 259 | 260 |
| 260 // Returns a SerializedPacket whose |packet| member is owned by the caller, | 261 // Returns a SerializedPacket whose |packet| member is owned by the caller, |
| 261 // is created from the first |num_frames| frames, or is NULL if the packet | 262 // is created from the first |num_frames| frames, or is NULL if the packet |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 335 bool ProcessVersionNegotiationPacket(QuicPacketPublicHeader* public_header); | 336 bool ProcessVersionNegotiationPacket(QuicPacketPublicHeader* public_header); |
| 336 | 337 |
| 337 bool WritePacketHeader(const QuicPacketHeader& header, | 338 bool WritePacketHeader(const QuicPacketHeader& header, |
| 338 QuicDataWriter* writer); | 339 QuicDataWriter* writer); |
| 339 | 340 |
| 340 bool ProcessPublicHeader(QuicPacketPublicHeader* header); | 341 bool ProcessPublicHeader(QuicPacketPublicHeader* header); |
| 341 | 342 |
| 342 bool ProcessPacketHeader(QuicPacketHeader* header, | 343 bool ProcessPacketHeader(QuicPacketHeader* header, |
| 343 const QuicEncryptedPacket& packet); | 344 const QuicEncryptedPacket& packet); |
| 344 | 345 |
| 345 bool ProcessPacketSequenceNumber(QuicPacketSequenceNumber* sequence_number); | 346 bool ProcessPacketSequenceNumber( |
| 347 QuicSequenceNumberLength sequence_number_length, |
| 348 QuicPacketSequenceNumber* sequence_number); |
| 346 bool ProcessFrameData(); | 349 bool ProcessFrameData(); |
| 347 bool ProcessStreamFrame(QuicStreamFrame* frame); | 350 bool ProcessStreamFrame(QuicStreamFrame* frame); |
| 348 bool ProcessAckFrame(QuicAckFrame* frame); | 351 bool ProcessAckFrame(QuicAckFrame* frame); |
| 349 bool ProcessReceivedInfo(ReceivedPacketInfo* received_info); | 352 bool ProcessReceivedInfo(ReceivedPacketInfo* received_info); |
| 350 bool ProcessSentInfo(SentPacketInfo* sent_info); | 353 bool ProcessSentInfo(SentPacketInfo* sent_info); |
| 351 bool ProcessQuicCongestionFeedbackFrame( | 354 bool ProcessQuicCongestionFeedbackFrame( |
| 352 QuicCongestionFeedbackFrame* congestion_feedback); | 355 QuicCongestionFeedbackFrame* congestion_feedback); |
| 353 bool ProcessRstStreamFrame(QuicRstStreamFrame* frame); | 356 bool ProcessRstStreamFrame(QuicRstStreamFrame* frame); |
| 354 bool ProcessConnectionCloseFrame(QuicConnectionCloseFrame* frame); | 357 bool ProcessConnectionCloseFrame(QuicConnectionCloseFrame* frame); |
| 355 bool ProcessGoAwayFrame(QuicGoAwayFrame* frame); | 358 bool ProcessGoAwayFrame(QuicGoAwayFrame* frame); |
| 356 | 359 |
| 357 bool DecryptPayload(QuicPacketSequenceNumber packet_sequence_number, | 360 bool DecryptPayload(const QuicPacketHeader& header, |
| 358 QuicGuidLength guid_length, | |
| 359 bool version_flag, | |
| 360 const QuicEncryptedPacket& packet); | 361 const QuicEncryptedPacket& packet); |
| 361 | 362 |
| 362 // Returns the full packet sequence number from the truncated | 363 // Returns the full packet sequence number from the truncated |
| 363 // wire format version and the last seen packet sequence number. | 364 // wire format version and the last seen packet sequence number. |
| 364 QuicPacketSequenceNumber CalculatePacketSequenceNumberFromWire( | 365 QuicPacketSequenceNumber CalculatePacketSequenceNumberFromWire( |
| 366 QuicSequenceNumberLength sequence_number_length, |
| 365 QuicPacketSequenceNumber packet_sequence_number) const; | 367 QuicPacketSequenceNumber packet_sequence_number) const; |
| 366 | 368 |
| 367 // Computes the wire size in bytes of the payload of |frame|. | 369 // Computes the wire size in bytes of the payload of |frame|. |
| 368 size_t ComputeFrameLength(const QuicFrame& frame); | 370 size_t ComputeFrameLength(const QuicFrame& frame); |
| 369 | 371 |
| 370 static bool AppendPacketSequenceNumber( | 372 static bool AppendPacketSequenceNumber( |
| 373 QuicSequenceNumberLength sequence_number_length, |
| 371 QuicPacketSequenceNumber packet_sequence_number, | 374 QuicPacketSequenceNumber packet_sequence_number, |
| 372 QuicDataWriter* writer); | 375 QuicDataWriter* writer); |
| 373 | 376 |
| 374 bool AppendStreamFramePayload(const QuicStreamFrame& frame, | 377 bool AppendStreamFramePayload(const QuicStreamFrame& frame, |
| 375 QuicDataWriter* builder); | 378 QuicDataWriter* builder); |
| 376 bool AppendAckFramePayload(const QuicAckFrame& frame, | 379 bool AppendAckFramePayload(const QuicAckFrame& frame, |
| 377 QuicDataWriter* builder); | 380 QuicDataWriter* builder); |
| 378 bool AppendQuicCongestionFeedbackFramePayload( | 381 bool AppendQuicCongestionFeedbackFramePayload( |
| 379 const QuicCongestionFeedbackFrame& frame, | 382 const QuicCongestionFeedbackFrame& frame, |
| 380 QuicDataWriter* builder); | 383 QuicDataWriter* builder); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 425 // The time this frames was created. Time written to the wire will be | 428 // The time this frames was created. Time written to the wire will be |
| 426 // written as a delta from this value. | 429 // written as a delta from this value. |
| 427 QuicTime creation_time_; | 430 QuicTime creation_time_; |
| 428 | 431 |
| 429 DISALLOW_COPY_AND_ASSIGN(QuicFramer); | 432 DISALLOW_COPY_AND_ASSIGN(QuicFramer); |
| 430 }; | 433 }; |
| 431 | 434 |
| 432 } // namespace net | 435 } // namespace net |
| 433 | 436 |
| 434 #endif // NET_QUIC_QUIC_FRAMER_H_ | 437 #endif // NET_QUIC_QUIC_FRAMER_H_ |
| OLD | NEW |