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