| // Copyright 2016 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 QUICHE_HTTP2_DECODER_DECODE_STATUS_H_ |
| #define QUICHE_HTTP2_DECODER_DECODE_STATUS_H_ |
| |
| // Enum DecodeStatus is used to report the status of decoding of many |
| // types of HTTP/2 and HPACK objects. |
| |
| #include <ostream> |
| |
| #include "quiche/common/platform/api/quiche_export.h" |
| |
| namespace http2 { |
| |
| enum class DecodeStatus { |
| // Decoding is done. |
| kDecodeDone, |
| |
| // Decoder needs more input to be able to make progress. |
| kDecodeInProgress, |
| |
| // Decoding failed (e.g. HPACK variable length integer is too large, or |
| // an HTTP/2 frame has padding declared to be larger than the payload). |
| kDecodeError, |
| }; |
| QUICHE_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& out, |
| DecodeStatus v); |
| |
| } // namespace http2 |
| |
| #endif // QUICHE_HTTP2_DECODER_DECODE_STATUS_H_ |