| Index: net/spdy/hpack/hpack_input_stream.h
|
| diff --git a/net/spdy/hpack/hpack_input_stream.h b/net/spdy/hpack/hpack_input_stream.h
|
| deleted file mode 100644
|
| index 5eff5627be2383382890ebdef31b405153b3aaf8..0000000000000000000000000000000000000000
|
| --- a/net/spdy/hpack/hpack_input_stream.h
|
| +++ /dev/null
|
| @@ -1,113 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef NET_SPDY_HPACK_HPACK_INPUT_STREAM_H_
|
| -#define NET_SPDY_HPACK_HPACK_INPUT_STREAM_H_
|
| -
|
| -#include <stddef.h>
|
| -#include <stdint.h>
|
| -
|
| -#include <utility>
|
| -
|
| -#include "base/macros.h"
|
| -#include "net/base/net_export.h"
|
| -#include "net/spdy/hpack/hpack_constants.h"
|
| -#include "net/spdy/hpack/hpack_huffman_table.h"
|
| -#include "net/spdy/platform/api/spdy_string.h"
|
| -#include "net/spdy/platform/api/spdy_string_piece.h"
|
| -
|
| -// All section references below are to
|
| -// http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-08
|
| -
|
| -namespace net {
|
| -
|
| -namespace test {
|
| -class HpackInputStreamPeer;
|
| -} // namespace test
|
| -
|
| -typedef std::pair<size_t, uint32_t> InitialPeekResult;
|
| -
|
| -// An HpackInputStream handles all the low-level details of decoding
|
| -// header fields.
|
| -class NET_EXPORT_PRIVATE HpackInputStream {
|
| - public:
|
| - friend class test::HpackInputStreamPeer;
|
| -
|
| - explicit HpackInputStream(SpdyStringPiece buffer);
|
| - ~HpackInputStream();
|
| -
|
| - // Returns whether or not there is more data to process.
|
| - bool HasMoreData() const;
|
| -
|
| - // If the next bits of input match |prefix|, consumes them and returns true.
|
| - // Otherwise, consumes nothing and returns false.
|
| - bool MatchPrefixAndConsume(HpackPrefix prefix);
|
| -
|
| - // The Decode* functions return true and fill in their arguments if
|
| - // decoding was successful, or false if an error was encountered.
|
| -
|
| - bool DecodeNextUint32(uint32_t* I);
|
| - bool DecodeNextIdentityString(SpdyStringPiece* str);
|
| - bool DecodeNextHuffmanString(SpdyString* str);
|
| -
|
| - // Stores input bits into the most-significant, unfilled bits of |out|.
|
| - // |peeked_count| is the number of filled bits in |out| which have been
|
| - // previously peeked. PeekBits() will fill some number of remaining bits,
|
| - // returning the new total number via |peeked_count|. Returns true if one
|
| - // or more additional bits were added to |out|, and false otherwise.
|
| - bool PeekBits(size_t* peeked_count, uint32_t* out) const;
|
| -
|
| - // Similar to PeekBits, but intended to be used when starting to decode a
|
| - // Huffman encoded string. Returns a pair containing the peeked_count and
|
| - // out values as described for PeekBits, with the bits from the first N bytes
|
| - // of buffer_, where N == min(4, buffer_.size()), starting with the high
|
| - // order bits.
|
| - // Should only be called when first peeking at bits from the input stream as
|
| - // it does not take peeked_count as an input, so doesn't know how many bits
|
| - // have already been returned by previous calls to InitializePeekBits and
|
| - // PeekBits.
|
| - InitialPeekResult InitializePeekBits();
|
| -
|
| - // Consumes |count| bits of input. Generally paired with PeekBits().
|
| - void ConsumeBits(size_t count);
|
| -
|
| - // If not currently on a byte boundary, consumes and discards
|
| - // remaining bits in the current byte.
|
| - void ConsumeByteRemainder();
|
| -
|
| - // Return the total bytes that have been parsed SUCCESSFULLY.
|
| - uint32_t ParsedBytes() const;
|
| -
|
| - // When incrementally decode the header, need to remember the current
|
| - // position in the buffer after we successfully decode one opcode.
|
| - void MarkCurrentPosition();
|
| -
|
| - // Returning true indicates this instance of HpackInputStream
|
| - // doesn't have enough data to parse the current opcode, and we
|
| - // are done with this instance. When more data arrive, a new
|
| - // HpackInputStream should be created to restart the parsing.
|
| - bool NeedMoreData() const;
|
| -
|
| - private:
|
| - SpdyStringPiece buffer_;
|
| - size_t bit_offset_;
|
| - // Total number of bytes parsed successfully. Only get updated when an
|
| - // opcode is parsed successfully.
|
| - uint32_t parsed_bytes_;
|
| - // Total number of bytes parsed currently. Get updated when an octet,
|
| - // a number or a string has been parsed successfully. Can point to the
|
| - // middle of an opcode.
|
| - uint32_t parsed_bytes_current_;
|
| - bool need_more_data_;
|
| -
|
| - bool PeekNextOctet(uint8_t* next_octet);
|
| -
|
| - bool DecodeNextOctet(uint8_t* next_octet);
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(HpackInputStream);
|
| -};
|
| -
|
| -} // namespace net
|
| -
|
| -#endif // NET_SPDY_HPACK_HPACK_INPUT_STREAM_H_
|
|
|