AGENTS.md
src/core/ext/transport/chaotic_good/AGENTS.mdAGENTS.md
Quality
48/100
Scores the file, not the repository.Length
517 words
6 headings · 0 code blocksRepository
45k
— · pushed 0 days agoLast changed
3 days ago
First indexed 3 days ago.1# "Chaotic Good" Transport23This directory contains the implementation of a new, experimental gRPC transport called "Chaotic Good".45See also: [gRPC Transports overview](../transport/AGENTS.md)67## Overarching Purpose89The "Chaotic Good" transport is a new transport implementation for gRPC that is designed to be more performant and flexible than the existing CHTTP2 transport. It is based on a custom framing format and is heavily reliant on the gRPC Core Promise API.1011See also: [gRPC Transports directory](../)12## Core Concepts1314The "Chaotic Good" transport is built around a few key concepts:1516* **Custom Framing Format**: The transport uses a custom framing format that is defined in the `chaotic_good_frame.proto` file. The framing format is designed to be simple and efficient, and it supports all of the features of gRPC, including headers, messages, and trailers.17* **Promise-Based Architecture**: The transport is heavily based on the [gRPC Core Promise API](../../lib/promise/AGENTS.md). This allows the transport to be implemented in a more asynchronous and non-blocking way, which can lead to better performance and scalability.18* **Separation of Control and Data Planes**: The transport separates the control plane (e.g., sending and receiving headers) from the data plane (e.g., sending and receiving messages). This allows the transport to be more flexible and to support a variety of different use cases.1920## Files2122* **`chaotic_good.h`, `chaotic_good.cc`**: These files contain the main entry points for the Chaotic Good transport.23* **`client_transport.h`, `client_transport.cc`**: These files contain the implementation of the client-side transport.24* **`server_transport.h`, `server_transport.cc`**: These files contain the implementation of the server-side transport.25* **`frame.h`, `frame.cc`**: These files define the C++ classes that represent the different types of frames in the custom framing format.26* **`frame_header.h`, `frame_header.cc`**: These files define the header for each frame in the custom framing format.27* **`chaotic_good_frame.proto`**: This file contains the protobuf definition of the framing format.28* **`frame_transport.h`**: Defines the interface for a transport that can send and receive frames.29* **`control_endpoint.h`, `control_endpoint.cc`**: Implements the control plane for the transport.30* **`data_endpoints.h`, `data_endpoints.cc`**: Implements the data plane for the transport.31* **`scheduler.h`, `scheduler.cc`**: A simple scheduler for running promises.3233## Major Classes3435* `grpc_core::chaotic_good::ChaoticGoodClientTransport`: The client-side transport implementation.36* `grpc_core::chaotic_good::ChaoticGoodServerTransport`: The server-side transport implementation.37* `grpc_core::chaotic_good::FrameInterface`: The base class for all frame types.38* `grpc_core::chaotic_good::FrameTransport`: The interface for a transport that can send and receive frames.3940## Notes4142* This transport is still under development and is not yet recommended for production use.43* The name "Chaotic Good" is a reference to the Dungeons & Dragons alignment system. It originally reflected that Chaotic Good was a transport with an alignment story, as it guaranteed alignment for received messages.44* The transport is a good example of how the gRPC Core Promise API can be used to build high-performance, asynchronous network applications.45* The separation of the control and data planes is a key design feature of the transport. It allows the transport to be more flexible and to support a variety of different use cases. For example, the control plane could be implemented over a reliable transport like TCP, while the data plane could be implemented over a less reliable transport like UDP.46
Also in grpc/grpc
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| grpc/grpcsrc/core/ext/filters/census/AGENTS.md · 45k | AGENTS.md | no sections | 25/100 | 3 days ago | |
| grpc/grpcsrc/core/ext/filters/gcp_authentication/AGENTS.md · 45k | AGENTS.md | security | 44/100 | 3 days ago | |
| grpc/grpcsrc/core/ext/filters/http/AGENTS.md · 45k | AGENTS.md | no sections | 44/100 | 3 days ago | |
| grpc/grpcsrc/core/ext/filters/stateful_session/AGENTS.md · 45k | AGENTS.md | no sections | 44/100 | 3 days ago | |
| grpc/grpcsrc/core/ext/transport/inproc/AGENTS.md · 45k | AGENTS.md | no sections | 44/100 | 3 days ago | |
| grpc/grpcsrc/core/filter/AGENTS.md · 45k | AGENTS.md | no sections | 44/100 | 3 days ago | |
| grpc/grpcsrc/core/handshaker/AGENTS.md · 45k | AGENTS.md | no sections | 39/100 | 3 days ago | |
| grpc/grpcsrc/core/server/AGENTS.md · 45k | AGENTS.md | no sections | 44/100 | 3 days ago | |
| grpc/grpcsrc/core/service_config/AGENTS.md · 45k | AGENTS.md | no sections | 44/100 | 3 days ago | |
| grpc/grpcsrc/core/telemetry/AGENTS.md · 45k | AGENTS.md | no sections | 39/100 | 3 days ago | |
| grpc/grpcsrc/core/transport/AGENTS.md · 45k | AGENTS.md | no sections | 39/100 | 3 days ago | |
| grpc/grpcsrc/core/credentials/transport/AGENTS.md · 45k | AGENTS.md | security | 39/100 | 3 days ago | |
| grpc/grpcsrc/core/ext/filters/backend_metrics/AGENTS.md · 45k | AGENTS.md | no sections | 44/100 | 3 days ago | |
| grpc/grpcsrc/core/credentials/AGENTS.md · 45k | AGENTS.md | security | 39/100 | 3 days ago | |
| grpc/grpcsrc/core/tsi/AGENTS.md · 45k | AGENTS.md | security | 39/100 | 3 days ago | |
| grpc/grpcsrc/core/tsi/alts/AGENTS.md · 45k | AGENTS.md | no sections | 39/100 | 3 days ago | |
| grpc/grpcsrc/core/credentials/call/AGENTS.md · 45k | AGENTS.md | security | 39/100 | 3 days ago | |
| grpc/grpcsrc/core/ext/transport/chttp2/AGENTS.md · 45k | AGENTS.md | testarchdependencies | 48/100 | 3 days ago | |
| grpc/grpcAGENTS.md · 45k | AGENTS.md | styledependenciesdo-not | 54/100 | 3 days ago | |
| grpc/grpcsrc/core/AGENTS.md · 45k | AGENTS.md | stylearch | 59/100 | 3 days ago |
Diff against src/core/ext/filters/census/AGENTS.md Diff against src/core/ext/filters/gcp_authentication/AGENTS.md Diff against src/core/ext/filters/http/AGENTS.md Diff against src/core/ext/filters/stateful_session/AGENTS.md Diff against src/core/ext/transport/inproc/AGENTS.md Diff against src/core/filter/AGENTS.md Diff against src/core/handshaker/AGENTS.md Diff against src/core/server/AGENTS.md Diff against src/core/service_config/AGENTS.md Diff against src/core/telemetry/AGENTS.md Diff against src/core/transport/AGENTS.md Diff against src/core/credentials/transport/AGENTS.md Diff against src/core/ext/filters/backend_metrics/AGENTS.md Diff against src/core/credentials/AGENTS.md Diff against src/core/tsi/AGENTS.md Diff against src/core/tsi/alts/AGENTS.md Diff against src/core/credentials/call/AGENTS.md Diff against src/core/ext/transport/chttp2/AGENTS.md Diff against AGENTS.md Diff against src/core/AGENTS.md
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| vllm-project/vllmAGENTS.md · 88k | AGENTS.md | setuptestlint-formatstyle+5 | 100/100 | 3 days ago | |
| duckduckgo/content-scope-scriptsspecial-pages/AGENTS.md · 70 | AGENTS.md | buildteststylearch+3 | 100/100 | 3 days ago | |
| react/react-nativepackages/react-native-compatibility-check/AGENTS.md · 126k | AGENTS.md | testlint-formatstylearch+4 | 99/100 | 3 days ago | |
| netdata/netdatasrc/go/plugin/ibm.d/AGENTS.md · 80k | AGENTS.md | buildtestlint-formatarch+3 | 99/100 | 3 days ago | |
| dotnet/aspnetcoresrc/Components/AGENTS.md · 38k | AGENTS.md | buildteststylearch+3 | 96/100 | 3 days ago | |
| dragonflydb/dragonflyAGENTS.md · 31k | AGENTS.md | setupbuildtestlint-format+10 | 96/100 | 2 days ago | |
| duckdb/duckdbAGENTS.md · 40k | AGENTS.md | buildtestlint-formatstyle+8 | 96/100 | today | |
| steipete/CodexBarAGENTS.md · 20k | AGENTS.md | buildteststylearch+4 | 93/100 | 3 days ago |
