Add http3_constants.h for HTTP/3 and QPACK unidirectional stream types and settings identifiers.
In the future, HTTP/3-specific constants from quic/core/*.h can be moved here,
and HTTP/3 and QPACK-specific error codes might also live here.
Also update unused kSettingsNumPlaceholders value from 8 to 9 according to
https://quicwg.org/base-drafts/draft-ietf-quic-http.html#settings-parameters.
Also add unused QPACK settings identifiers.
gfe-relnote: n/a, QUIC v99-only change.
PiperOrigin-RevId: 258613141
Change-Id: I48cf9d6468ae99018dbe49b74c9740b8e48a287d
diff --git a/quic/core/http/http_constants.h b/quic/core/http/http_constants.h
new file mode 100644
index 0000000..2641790
--- /dev/null
+++ b/quic/core/http/http_constants.h
@@ -0,0 +1,32 @@
+// Copyright (c) 2019 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_QUIC_CORE_HTTP_HTTP_CONSTANTS_H_
+#define QUICHE_QUIC_CORE_HTTP_HTTP_CONSTANTS_H_
+
+#include <cstdint>
+
+namespace quic {
+
+// Unidirectional stream types.
+
+// https://quicwg.org/base-drafts/draft-ietf-quic-http.html#unidirectional-streams
+const uint64_t kControlStream = 0x00;
+const uint64_t kServerPushStream = 0x01;
+// https://quicwg.org/base-drafts/draft-ietf-quic-qpack.html#enc-dec-stream-def
+const uint64_t kQpackEncoderStream = 0x02;
+const uint64_t kQpackDecoderStream = 0x03;
+
+// Settings identifiers.
+
+// https://quicwg.org/base-drafts/draft-ietf-quic-http.html#settings-parameters
+const uint64_t kSettingsMaxHeaderListSize = 0x06;
+const uint64_t kSettingsNumPlaceholders = 0x09;
+// https://quicwg.org/base-drafts/draft-ietf-quic-qpack.html#configuration
+const uint64_t kSettingsQpackMaxTableCapacity = 0x01;
+const uint64_t kSettingsQpackBlockedStream = 0x07;
+
+} // namespace quic
+
+#endif // QUICHE_QUIC_CORE_HTTP_HTTP_CONSTANTS_H_