| // 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 "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_ |