| Index: net/quic/core/quic_data_reader.h
|
| diff --git a/net/quic/core/quic_data_reader.h b/net/quic/core/quic_data_reader.h
|
| index ffce87f5b6d1932f0734a6a141eeb34875582ddc..a4dc1a928808839d3c5c54fbc9167dd77d2b0fc3 100644
|
| --- a/net/quic/core/quic_data_reader.h
|
| +++ b/net/quic/core/quic_data_reader.h
|
| @@ -11,6 +11,7 @@
|
| #include "base/macros.h"
|
| #include "net/base/int128.h"
|
| #include "net/quic/core/quic_types.h"
|
| +#include "net/quic/platform/api/quic_endian.h"
|
| #include "net/quic/platform/api/quic_export.h"
|
| #include "net/quic/platform/api/quic_string_piece.h"
|
|
|
| @@ -33,26 +34,26 @@ namespace net {
|
| class QUIC_EXPORT_PRIVATE QuicDataReader {
|
| public:
|
| // Caller must provide an underlying buffer to work on.
|
| - QuicDataReader(const char* data, const size_t len, Perspective perspective);
|
| + QuicDataReader(const char* data,
|
| + const size_t len,
|
| + Perspective perspective,
|
| + Endianness endianness);
|
|
|
| // Empty destructor.
|
| ~QuicDataReader() {}
|
|
|
| - // Reads a 16-bit unsigned integer into the given output parameter.
|
| - // Forwards the internal iterator on success.
|
| - // Returns true on success, false otherwise.
|
| + // Reads an 8/16/32/64-bit unsigned integer into the given output
|
| + // parameter. Forwards the internal iterator on success. Returns true on
|
| + // success, false otherwise.
|
| + bool ReadUInt8(uint8_t* result);
|
| bool ReadUInt16(uint16_t* result);
|
| -
|
| - // Reads a 32-bit unsigned integer into the given output parameter.
|
| - // Forwards the internal iterator on success.
|
| - // Returns true on success, false otherwise.
|
| bool ReadUInt32(uint32_t* result);
|
| -
|
| - // Reads a 64-bit unsigned integer into the given output parameter.
|
| - // Forwards the internal iterator on success.
|
| - // Returns true on success, false otherwise.
|
| bool ReadUInt64(uint64_t* result);
|
|
|
| + // Reads |num_bytes| bytes in the correct byte order into least significant
|
| + // bytes of |result|.
|
| + bool ReadBytesToUInt64(size_t num_bytes, uint64_t* result);
|
| +
|
| // Reads a 16-bit unsigned float into the given output parameter.
|
| // Forwards the internal iterator on success.
|
| // Returns true on success, false otherwise.
|
| @@ -146,6 +147,9 @@ class QUIC_EXPORT_PRIVATE QuicDataReader {
|
| // representation must be consistent.
|
| Perspective perspective_;
|
|
|
| + // The endianness to read integers and floating numbers.
|
| + Endianness endianness_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(QuicDataReader);
|
| };
|
|
|
|
|