gfe-relnote: Remove client-side support for Channel ID from QUIC. Not flag protected.

PiperOrigin-RevId: 247261939
Change-Id: Id2d70ab42cb47b76c783a06b7773871886c75c56
diff --git a/quic/platform/README.md b/quic/platform/README.md
new file mode 100644
index 0000000..6538de1
--- /dev/null
+++ b/quic/platform/README.md
@@ -0,0 +1,12 @@
+# QUIC platform
+
+This platform/ directory exists in order to allow QUIC code to be built on
+numerous platforms. It contains two subdirectories:
+
+-   api/ contains platform independent class definitions for fundamental data
+    structures (e.g., IPAddress, SocketAddress, etc.).
+-   impl/ contains platform specific implementations of these data structures.
+    The content of files in impl/ will vary depending on the platform.
+
+Code in the parent quic/ directory should not depend on any platform specific
+code, other than that found in impl/.
diff --git a/quic/platform/api/README.md b/quic/platform/api/README.md
new file mode 100644
index 0000000..d3de2e1
--- /dev/null
+++ b/quic/platform/api/README.md
@@ -0,0 +1,67 @@
+# QUIC platform API
+
+This directory contains the infrastructure blocks needed to support QUIC in
+certain platform. These APIs act as interaction layers between QUIC core and
+either the upper layer application (i.e. Chrome, Envoy) or the platform's own
+infrastructure (i.e. logging, test framework and system IO). QUIC core needs the
+implementations of these APIs to build and function appropriately. There is
+unidirectional dependency from QUIC core to most of the APIs here, such as
+QUIC_LOG and QuicMutex, but a few APIs also depend back on QUIC core's basic
+QUIC data types, such as QuicClock and QuicSleep.
+
+-   APIs used by QUIC core:
+
+    Most APIs are used by QUIC core to interact with platform infrastructure
+    (i.e. QUIC_LOG) or to wrap around platform dependent data types (i.e.
+    QuicIntervalSet), the dependency is:
+
+    ```dot
+    digraph {
+    application -> quic_core -> quic_platform_api -> quic_platform_impl -> platform_infrastructure
+    application -> platform_infrastructure
+    }
+    ```
+
+-   APIs used by applications:
+
+    Some APIs are used by applications to interact with QUIC core (i.e.
+    QuicMemSlice). For such APIs, their dependency model is:
+
+    ```dot
+    digraph {
+    application -> quic_platform_impl -> platform_infrastructure
+    application -> quic_core -> quic_platform_api
+    quic_platform_impl -> quic_platform_api
+    application -> platform_infrastructure
+    }
+    ```
+
+    An example for such dependency is QuicClock.
+
+    Or
+
+    ```dot
+    digraph {
+    application -> quic_platform_impl -> platform_infrastructure
+    application -> quic_core -> quic_platform_api -> quic_platform_impl
+    quic_platform_impl -> quic_platform_api
+    application -> platform_infrastructure
+    }
+    ```
+
+    An example for such dependency is QuicMemSlice.
+
+# Documentation of each API and its usage.
+
+QuicMemSlice
+:   QuicMemSlice is used to wrap application data and pass to QUIC stream's
+    write interface. It refers to a memory block of data which should be around
+    till QuicMemSlice::Reset() is called. It's upto each platform, to implement
+    it as reference counted or not.
+
+QuicClock
+:   QuicClock is used by QUIC core to get current time. Its instance is created
+    by applications and passed into QuicDispatcher and
+    QuicConnectionHelperInterface.
+
+TODO(b/131224336) add document for other APIs