go/proxyd: Proxy requests using batch JSON-RPC#2480
go/proxyd: Proxy requests using batch JSON-RPC#2480mergify[bot] merged 3 commits intoethereum-optimism:developfrom
Conversation
|
|
Hey @Inphi! This PR has merge conflicts. Please fix them before continuing review. |
|
This PR changes implementation code, but doesn't include a changeset. Did you forget to add one? |
ca1366a to
f10ebb6
Compare
f10ebb6 to
bba4660
Compare
|
Hey @Inphi! This PR has merge conflicts. Please fix them before continuing review. |
|
This PR changes implementation code, but doesn't include a changeset. Did you forget to add one? |
9257945 to
f5acf11
Compare
We forward several RPC request objects to upstreams using the JSON-RPC batch functionality. This should be more efficient than serialized RPC request proxying the round-trip latency of the remaining request objects are eliminated. A new server config, `max_upstream_batch_size`, is introduced to limit the number of RPC request objects in a single batch request. This is to avoid overloading upstream as proxyd may accept a large number of request objects in a single request by having a large `max_body_size_bytes` config value.
f5acf11 to
19a5563
Compare
|
Apart from that one request above, this LGTM. |
cfromknecht
left a comment
There was a problem hiding this comment.
LGTM, looking forward to seeing this land! 🎉
|
This PR has been added to the merge queue, and will be merged soon. |
|
This PR is next in line to be merged, and will be merged as soon as checks pass. |
) ## Summary Updates doc comments in the `kona-protocol` crate to properly format code references with backticks so they render correctly in generated documentation. ## Problem Code references in doc comments like `[BlockInfo]` were not being rendered as code in the generated documentation because they lacked backticks. This made the documentation less readable and inconsistent with Rust documentation conventions. ## Solution Systematically updated all doc comments in the `kona-protocol` crate to format code references with backticks: - `[BlockInfo]` → `[`BlockInfo`]` - `[OpAttributesWithParent]` → `[`OpAttributesWithParent`]` - `[L2BlockInfo]` → `[`L2BlockInfo`]` - And many more... ## Changes - **33 files modified** across the `kona-protocol` crate - **76 code references** properly formatted with backticks - Automated approach using Python script to ensure consistency and reduce manual errors - All changes preserve existing functionality while improving documentation readability ## Examples **Before:** ```rust /// Create a new [OpAttributesWithParent] instance. /// Returns the [BlockInfo] for this block. ``` **After:** ```rust /// Create a new [`OpAttributesWithParent`] instance. /// Returns the [`BlockInfo`] for this block. ``` ## Verification - ✅ Documentation builds successfully (`cargo doc` passes) - ✅ Code compiles without issues (`cargo check` passes) - ✅ Generated HTML documentation properly renders code references with `<code>` tags - ✅ No functional changes to the codebase This improvement enhances the developer experience by making the API documentation more readable and following Rust documentation best practices. <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey.alchemer.com/s3/8343779/Copilot-Coding-agent) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: refcell <21288394+refcell@users.noreply.github.com> Co-authored-by: refcell <abigger87@gmail.com>
We forward several RPC request objects to upstreams using the JSON-RPC
batch functionality. This should be more efficient than serialized RPC
request proxying the round-trip latency of the remaining request objects
are eliminated.
A new server config,
max_upstream_batch_size, is introduced to limitthe number of RPC request objects in a single batch request. This is to
avoid overloading upstream as proxyd may accept a large number of
request objects in a single request by having a large
max_body_size_bytesconfig value.