OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_CORE_QUIC_TYPES_H_ | 5 #ifndef NET_QUIC_CORE_QUIC_TYPES_H_ |
6 #define NET_QUIC_CORE_QUIC_TYPES_H_ | 6 #define NET_QUIC_CORE_QUIC_TYPES_H_ |
7 | 7 |
8 #include <array> | 8 #include <array> |
9 #include <cstddef> | 9 #include <cstddef> |
10 #include <map> | 10 #include <map> |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 // Bits 4 and 5 describe the packet number length as follows: | 175 // Bits 4 and 5 describe the packet number length as follows: |
176 // --00----: 1 byte | 176 // --00----: 1 byte |
177 // --01----: 2 bytes | 177 // --01----: 2 bytes |
178 // --10----: 4 bytes | 178 // --10----: 4 bytes |
179 // --11----: 6 bytes | 179 // --11----: 6 bytes |
180 PACKET_PUBLIC_FLAGS_1BYTE_PACKET = PACKET_FLAGS_1BYTE_PACKET << 4, | 180 PACKET_PUBLIC_FLAGS_1BYTE_PACKET = PACKET_FLAGS_1BYTE_PACKET << 4, |
181 PACKET_PUBLIC_FLAGS_2BYTE_PACKET = PACKET_FLAGS_2BYTE_PACKET << 4, | 181 PACKET_PUBLIC_FLAGS_2BYTE_PACKET = PACKET_FLAGS_2BYTE_PACKET << 4, |
182 PACKET_PUBLIC_FLAGS_4BYTE_PACKET = PACKET_FLAGS_4BYTE_PACKET << 4, | 182 PACKET_PUBLIC_FLAGS_4BYTE_PACKET = PACKET_FLAGS_4BYTE_PACKET << 4, |
183 PACKET_PUBLIC_FLAGS_6BYTE_PACKET = PACKET_FLAGS_6BYTE_PACKET << 4, | 183 PACKET_PUBLIC_FLAGS_6BYTE_PACKET = PACKET_FLAGS_6BYTE_PACKET << 4, |
184 | 184 |
185 // TODO(fayang): Remove PACKET_PUBLIC_FLAGS_MULTIPATH when deprecating | |
186 // quic_reloadable_flag_quic_remove_multipath_bit. | |
187 // Bit 6: Does the packet header contain a path id? | |
188 PACKET_PUBLIC_FLAGS_MULTIPATH = 1 << 6, | |
189 | |
190 // Reserved, unimplemented flags: | 185 // Reserved, unimplemented flags: |
191 | 186 |
192 // Bit 7: indicates the presence of a second flags byte. | 187 // Bit 7: indicates the presence of a second flags byte. |
193 PACKET_PUBLIC_FLAGS_TWO_OR_MORE_BYTES = 1 << 7, | 188 PACKET_PUBLIC_FLAGS_TWO_OR_MORE_BYTES = 1 << 7, |
194 | 189 |
195 // TODO(fayang): Remove PACKET_PUBLIC_FLAGS_MAX and rename | |
196 // PACKET_PUBLIC_FLAGS_MAX_WITHOUT_MULTIPATH_FLAG when deprecating | |
197 // quic_reloadable_flag_quic_remove_multipath_bit. | |
198 // All bits set (bit 7 is not currently used): 01111111 | |
199 PACKET_PUBLIC_FLAGS_MAX = (1 << 7) - 1, | |
200 | |
201 // All bits set (bits 6 and 7 are not currently used): 00111111 | 190 // All bits set (bits 6 and 7 are not currently used): 00111111 |
202 PACKET_PUBLIC_FLAGS_MAX_WITHOUT_MULTIPATH_FLAG = (1 << 6) - 1, | 191 PACKET_PUBLIC_FLAGS_MAX = (1 << 6) - 1, |
203 }; | 192 }; |
204 | 193 |
205 // The private flags are specified in one byte. | 194 // The private flags are specified in one byte. |
206 enum QuicPacketPrivateFlags { | 195 enum QuicPacketPrivateFlags { |
207 PACKET_PRIVATE_FLAGS_NONE = 0, | 196 PACKET_PRIVATE_FLAGS_NONE = 0, |
208 | 197 |
209 // Bit 0: Does this packet contain an entropy bit? | 198 // Bit 0: Does this packet contain an entropy bit? |
210 PACKET_PRIVATE_FLAGS_ENTROPY = 1 << 0, | 199 PACKET_PRIVATE_FLAGS_ENTROPY = 1 << 0, |
211 | 200 |
212 // (bits 1-7 are not used): 00000001 | 201 // (bits 1-7 are not used): 00000001 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
268 // Sender is done sending on this stream. | 257 // Sender is done sending on this stream. |
269 FIN, | 258 FIN, |
270 // Sender is done sending on this stream and random padding needs to be | 259 // Sender is done sending on this stream and random padding needs to be |
271 // appended after all stream frames. | 260 // appended after all stream frames. |
272 FIN_AND_PADDING, | 261 FIN_AND_PADDING, |
273 }; | 262 }; |
274 | 263 |
275 } // namespace net | 264 } // namespace net |
276 | 265 |
277 #endif // NET_QUIC_CORE_QUIC_TYPES_H_ | 266 #endif // NET_QUIC_CORE_QUIC_TYPES_H_ |
OLD | NEW |