| 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_PROTOCOL_H_ | 5 #ifndef NET_QUIC_QUIC_PROTOCOL_H_ |
| 6 #define NET_QUIC_QUIC_PROTOCOL_H_ | 6 #define NET_QUIC_QUIC_PROTOCOL_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <limits> | 9 #include <limits> |
| 10 #include <map> | 10 #include <map> |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 // Too many streams already open. | 143 // Too many streams already open. |
| 144 QUIC_TOO_MANY_OPEN_STREAMS, | 144 QUIC_TOO_MANY_OPEN_STREAMS, |
| 145 | 145 |
| 146 // We hit our prenegotiated (or default) timeout | 146 // We hit our prenegotiated (or default) timeout |
| 147 QUIC_CONNECTION_TIMED_OUT, | 147 QUIC_CONNECTION_TIMED_OUT, |
| 148 | 148 |
| 149 // Crypto errors. | 149 // Crypto errors. |
| 150 | 150 |
| 151 // Handshake message contained out of order tags. | 151 // Handshake message contained out of order tags. |
| 152 QUIC_CRYPTO_TAGS_OUT_OF_ORDER, | 152 QUIC_CRYPTO_TAGS_OUT_OF_ORDER, |
| 153 // Handshake message contained too many entires. | 153 // Handshake message contained too many entries. |
| 154 QUIC_CRYPTO_TOO_MANY_ENTRIES, | 154 QUIC_CRYPTO_TOO_MANY_ENTRIES, |
| 155 // Handshake message contained an invalid value length. | 155 // Handshake message contained an invalid value length. |
| 156 QUIC_CRYPTO_INVALID_VALUE_LENGTH, | 156 QUIC_CRYPTO_INVALID_VALUE_LENGTH, |
| 157 // A crypto message was received after the handshake was complete. | 157 // A crypto message was received after the handshake was complete. |
| 158 QUIC_CRYPTO_MESSAGE_AFTER_HANDSHAKE_COMPLETE, | 158 QUIC_CRYPTO_MESSAGE_AFTER_HANDSHAKE_COMPLETE, |
| 159 // A crypto message was receieved with an illegal message tag. | 159 // A crypto message was receieved with an illegal message tag. |
| 160 QUIC_INVALID_CRYPTO_MESSAGE_TYPE, | 160 QUIC_INVALID_CRYPTO_MESSAGE_TYPE, |
| 161 | 161 |
| 162 }; | 162 }; |
| 163 | 163 |
| 164 struct NET_EXPORT_PRIVATE QuicPacketHeader { | 164 struct NET_EXPORT_PRIVATE QuicPacketHeader { |
| 165 // Includes the ConnectionHeader and CongestionMonitoredHeader | 165 // Includes the ConnectionHeader and CongestionMonitoredHeader |
| 166 // from the design docs, as well as some elements of DecryptedData. | 166 // from the design docs, as well as some elements of DecryptedData. |
| 167 QuicGuid guid; | 167 QuicGuid guid; |
| 168 QuicPacketSequenceNumber packet_sequence_number; | 168 QuicPacketSequenceNumber packet_sequence_number; |
| 169 QuicPacketFlags flags; | 169 QuicPacketFlags flags; |
| 170 QuicFecGroupNumber fec_group; | 170 QuicFecGroupNumber fec_group; |
| 171 }; | 171 }; |
| 172 | 172 |
| 173 struct NET_EXPORT_PRIVATE QuicStreamFrame { | 173 struct NET_EXPORT_PRIVATE QuicStreamFrame { |
| 174 QuicStreamFrame(); | 174 QuicStreamFrame(); |
| 175 QuicStreamFrame(QuicStreamId stream_id, | 175 QuicStreamFrame(QuicStreamId stream_id, |
| 176 bool fin, | 176 bool fin, |
| 177 uint64 offset, | 177 QuicStreamOffset offset, |
| 178 base::StringPiece data); | 178 base::StringPiece data); |
| 179 | 179 |
| 180 QuicStreamId stream_id; | 180 QuicStreamId stream_id; |
| 181 bool fin; | 181 bool fin; |
| 182 uint64 offset; | 182 QuicStreamOffset offset; // Location of this data in the stream. |
| 183 base::StringPiece data; | 183 base::StringPiece data; |
| 184 }; | 184 }; |
| 185 | 185 |
| 186 // TODO(ianswett): Re-evaluate the trade-offs of hash_set vs set when framing | 186 // TODO(ianswett): Re-evaluate the trade-offs of hash_set vs set when framing |
| 187 // is finalized. | 187 // is finalized. |
| 188 typedef std::set<QuicPacketSequenceNumber> SequenceSet; | 188 typedef std::set<QuicPacketSequenceNumber> SequenceSet; |
| 189 // TODO(pwestin): Add a way to enforce the max size of this map. | 189 // TODO(pwestin): Add a way to enforce the max size of this map. |
| 190 typedef std::map<QuicPacketSequenceNumber, QuicTime> TimeMap; | 190 typedef std::map<QuicPacketSequenceNumber, QuicTime> TimeMap; |
| 191 | 191 |
| 192 struct NET_EXPORT_PRIVATE ReceivedPacketInfo { | 192 struct NET_EXPORT_PRIVATE ReceivedPacketInfo { |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 433 return base::StringPiece(data() + kStartOfHashData, kStartOfEncryptedData); | 433 return base::StringPiece(data() + kStartOfHashData, kStartOfEncryptedData); |
| 434 } | 434 } |
| 435 | 435 |
| 436 private: | 436 private: |
| 437 DISALLOW_COPY_AND_ASSIGN(QuicEncryptedPacket); | 437 DISALLOW_COPY_AND_ASSIGN(QuicEncryptedPacket); |
| 438 }; | 438 }; |
| 439 | 439 |
| 440 } // namespace net | 440 } // namespace net |
| 441 | 441 |
| 442 #endif // NET_QUIC_QUIC_PROTOCOL_H_ | 442 #endif // NET_QUIC_QUIC_PROTOCOL_H_ |
| OLD | NEW |