| Index: trunk/src/net/quic/quic_protocol.h
|
| ===================================================================
|
| --- trunk/src/net/quic/quic_protocol.h (revision 204061)
|
| +++ trunk/src/net/quic/quic_protocol.h (working copy)
|
| @@ -53,6 +53,8 @@
|
| const size_t kPublicFlagsSize = 1;
|
| // Number of bytes reserved for version number in the packet header.
|
| const size_t kQuicVersionSize = 4;
|
| +// Number of bytes reserved for sequence number in the packet header.
|
| +const size_t kSequenceNumberSize = 6;
|
| // Number of bytes reserved for private flags in the packet header.
|
| const size_t kPrivateFlagsSize = 1;
|
| // Number of bytes reserved for FEC group in the packet header.
|
| @@ -117,13 +119,6 @@
|
| IN_FEC_GROUP,
|
| };
|
|
|
| -enum QuicSequenceNumberLength {
|
| - PACKET_1BYTE_SEQUENCE_NUMBER = 1,
|
| - PACKET_2BYTE_SEQUENCE_NUMBER = 2,
|
| - PACKET_4BYTE_SEQUENCE_NUMBER = 4,
|
| - PACKET_6BYTE_SEQUENCE_NUMBER = 6
|
| -};
|
| -
|
| enum QuicPacketPublicFlags {
|
| PACKET_PUBLIC_FLAGS_NONE = 0,
|
| PACKET_PUBLIC_FLAGS_VERSION = 1 << 0, // Packet header contains version info.
|
| @@ -133,12 +128,7 @@
|
| PACKET_PUBLIC_FLAGS_1BYTE_GUID = 1 << 2,
|
| PACKET_PUBLIC_FLAGS_4BYTE_GUID = 1 << 3,
|
| PACKET_PUBLIC_FLAGS_8BYTE_GUID = 1 << 3 | 1 << 2,
|
| - // Packet sequence number length in bytes.
|
| - PACKET_PUBLIC_FLAGS_1BYTE_SEQUENCE = 0,
|
| - PACKET_PUBLIC_FLAGS_2BYTE_SEQUENCE = 1 << 4,
|
| - PACKET_PUBLIC_FLAGS_4BYTE_SEQUENCE = 1 << 5,
|
| - PACKET_PUBLIC_FLAGS_6BYTE_SEQUENCE = 1 << 5 | 1 << 4,
|
| - PACKET_PUBLIC_FLAGS_MAX = (1 << 6) - 1 // All bits set.
|
| + PACKET_PUBLIC_FLAGS_MAX = (1 << 4) - 1 // All bits set.
|
| };
|
|
|
| enum QuicPacketPrivateFlags {
|
| @@ -152,25 +142,19 @@
|
| // Size in bytes of the data or fec packet header.
|
| NET_EXPORT_PRIVATE size_t GetPacketHeaderSize(QuicPacketHeader header);
|
|
|
| -NET_EXPORT_PRIVATE size_t GetPacketHeaderSize(
|
| - QuicGuidLength guid_length,
|
| - bool include_version,
|
| - QuicSequenceNumberLength sequence_number_length,
|
| - InFecGroup is_in_fec_group);
|
| +NET_EXPORT_PRIVATE size_t GetPacketHeaderSize(QuicGuidLength guid_length,
|
| + bool include_version,
|
| + InFecGroup is_in_fec_group);
|
|
|
| // Size in bytes of the public reset packet.
|
| NET_EXPORT_PRIVATE size_t GetPublicResetPacketSize();
|
|
|
| // Index of the first byte in a QUIC packet of FEC protected data.
|
| -NET_EXPORT_PRIVATE size_t GetStartOfFecProtectedData(
|
| - QuicGuidLength guid_length,
|
| - bool include_version,
|
| - QuicSequenceNumberLength sequence_number_length);
|
| +NET_EXPORT_PRIVATE size_t GetStartOfFecProtectedData(QuicGuidLength guid_length,
|
| + bool include_version);
|
| // Index of the first byte in a QUIC packet of encrypted data.
|
| -NET_EXPORT_PRIVATE size_t GetStartOfEncryptedData(
|
| - QuicGuidLength guid_length,
|
| - bool include_version,
|
| - QuicSequenceNumberLength sequence_number_length);
|
| +NET_EXPORT_PRIVATE size_t GetStartOfEncryptedData(QuicGuidLength guid_length,
|
| + bool include_version);
|
|
|
| enum QuicRstStreamErrorCode {
|
| QUIC_STREAM_NO_ERROR = 0,
|
| @@ -311,7 +295,7 @@
|
| // Each time the wire format changes, this need needs to be incremented.
|
| // At some point, we will actually freeze the wire format and make an official
|
| // version number, but this works for now.
|
| -const QuicTag kQuicVersion1 = TAG('Q', '0', '0', '6');
|
| +const QuicTag kQuicVersion1 = TAG('Q', '0', '0', '5');
|
| #undef TAG
|
|
|
| // MakeQuicTag returns a value given the four bytes. For example:
|
| @@ -330,7 +314,6 @@
|
| QuicGuidLength guid_length;
|
| bool reset_flag;
|
| bool version_flag;
|
| - QuicSequenceNumberLength sequence_number_length;
|
| QuicTagVector versions;
|
| };
|
|
|
| @@ -594,6 +577,8 @@
|
| struct NET_EXPORT_PRIVATE QuicFecData {
|
| QuicFecData();
|
|
|
| + bool operator==(const QuicFecData& other) const;
|
| +
|
| // The FEC group number is also the sequence number of the first
|
| // FEC protected packet. The last protected packet's sequence number will
|
| // be one less than the sequence number of the FEC packet.
|
| @@ -636,26 +621,22 @@
|
|
|
| class NET_EXPORT_PRIVATE QuicPacket : public QuicData {
|
| public:
|
| - static QuicPacket* NewDataPacket(
|
| - char* buffer,
|
| - size_t length,
|
| - bool owns_buffer,
|
| - QuicGuidLength guid_length,
|
| - bool includes_version,
|
| - QuicSequenceNumberLength sequence_number_length) {
|
| - return new QuicPacket(buffer, length, owns_buffer, guid_length,
|
| - includes_version, sequence_number_length, false);
|
| + static QuicPacket* NewDataPacket(char* buffer,
|
| + size_t length,
|
| + bool owns_buffer,
|
| + QuicGuidLength guid_length,
|
| + bool includes_version) {
|
| + return new QuicPacket(
|
| + buffer, length, owns_buffer, guid_length, includes_version, false);
|
| }
|
|
|
| - static QuicPacket* NewFecPacket(
|
| - char* buffer,
|
| - size_t length,
|
| - bool owns_buffer,
|
| - QuicGuidLength guid_length,
|
| - bool includes_version,
|
| - QuicSequenceNumberLength sequence_number_length) {
|
| - return new QuicPacket(buffer, length, owns_buffer, guid_length,
|
| - includes_version, sequence_number_length, true);
|
| + static QuicPacket* NewFecPacket(char* buffer,
|
| + size_t length,
|
| + bool owns_buffer,
|
| + QuicGuidLength guid_length,
|
| + bool includes_version) {
|
| + return new QuicPacket(
|
| + buffer, length, owns_buffer, guid_length, includes_version, true);
|
| }
|
|
|
| base::StringPiece FecProtectedData() const;
|
| @@ -675,20 +656,17 @@
|
| bool owns_buffer,
|
| QuicGuidLength guid_length,
|
| bool includes_version,
|
| - QuicSequenceNumberLength sequence_number_length,
|
| bool is_fec_packet)
|
| : QuicData(buffer, length, owns_buffer),
|
| buffer_(buffer),
|
| is_fec_packet_(is_fec_packet),
|
| guid_length_(guid_length),
|
| - includes_version_(includes_version),
|
| - sequence_number_length_(sequence_number_length) {}
|
| + includes_version_(includes_version) {}
|
|
|
| char* buffer_;
|
| const bool is_fec_packet_;
|
| const QuicGuidLength guid_length_;
|
| const bool includes_version_;
|
| - const QuicSequenceNumberLength sequence_number_length_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(QuicPacket);
|
| };
|
|
|