Skip to content

Commit 8d115d3

Browse files
generatedunixname1290078010000362meta-codesync[bot]
authored andcommitted
Update README.md for fbcode/thrift/lib/cpp2/fast_thrift/rocket/server/.llms
Differential Revision: D116784958 fbshipit-source-id: a3467808c990ee21a2eeb3948e244252077d9d6f
1 parent 3b4f002 commit 8d115d3

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

  • third-party/thrift/src/thrift/lib/cpp2/fast_thrift/rocket/server

third-party/thrift/src/thrift/lib/cpp2/fast_thrift/rocket/server/README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ stream state for inbound requests and outbound responses.
1313

1414
| Handler | Purpose |
1515
|---------|---------|
16-
| `RocketServerMessageMarshalHandler` | Wraps inbound `ParsedFrame` into `RocketRequestMessage`; unwraps outbound `RocketResponseMessage` into `ComposedFrame`. Wire bytes are handled by the shared `frame::handler::FrameCodecHandler` upstream. |
16+
| `RocketServerMessageMarshalHandler` | Wraps inbound requests and unwraps outbound responses at the frame boundary. |
1717
| `RocketServerSetupFrameHandler` | Validates and consumes the RSocket SETUP frame on connection establishment |
18-
| `RocketServerStreamStateHandler` | Manages stream IDs and request/response routing for client-initiated streams; consumes connection-level frames |
19-
| `RocketServerRequestResponseHandler` | Duplex handler for REQUEST_RESPONSE interactions (inbound request tracking + outbound response serialization) |
18+
| `RocketServerStreamStateHandler` | Manages stream IDs and request/response routing; consumes connection-level frames |
19+
| `RocketServerRequestResponseHandler` | Tracks REQUEST_RESPONSE streams and serializes responses. |
2020

2121
---
2222

2323
## Pipeline Architecture
2424

2525
```
26-
Inbound: Transport -> FrameHandler -> FrameCodecHandler -> FrameDefragmentationHandler -> RocketServerMessageMarshalHandler -> RocketServerSetupFrameHandler -> RocketServerRequestResponseHandler -> RocketServerStreamStateHandler -> App
27-
Outbound: Transport <- FrameHandler <- FrameCodecHandler <- FrameFragmentationHandler <- RocketServerMessageMarshalHandler <- RocketServerSetupFrameHandler <- RocketServerRequestResponseHandler <- RocketServerStreamStateHandler <- App
26+
Inbound: Transport -> [Framing handlers] -> [Rocket server handlers] -> App
27+
Outbound: Transport <- [Framing handlers] <- [Rocket server handlers] <- App
2828
```
2929

3030
Note: `frame::handler::FrameCodecHandler` parses raw IOBuf into ParsedFrame and
@@ -59,7 +59,7 @@ It uses a two-phase design:
5959
keepalive, lifetime, lease) for access by other components
6060
3. **Error Reporting**: Sends ERROR frames with appropriate error codes for
6161
invalid or unsupported setups
62-
4. **Connection Termination**: Closes the connection after sending setup errors,
62+
4. **Connection Termination**: Flushes setup errors before closing the connection,
6363
per RSocket spec
6464
5. **SETUP Consumption**: Consumes valid SETUP frames (does not forward them
6565
downstream), since SETUP is a connection-level protocol frame
@@ -136,7 +136,7 @@ RocketServerSetupFrameHandler handler;
136136
┌─────────────────────────────────────────┐
137137
│ RocketServerSetupFrameHandler::sendError │
138138
│ 1. Serialize ERROR frame │
139-
│ 2. Fire write to send ERROR to client
139+
│ 2. Write ERROR, then fire FlushWrites
140140
│ 3. Close the connection │
141141
└─────────────────────────────────────────┘
142142
```
@@ -302,7 +302,7 @@ properly serialize outbound response frames.
302302
### Pipeline Position
303303

304304
```
305-
App <-> RocketServerStreamStateHandler <-> RocketServerRequestResponseHandler <-> RocketServerSetupFrameHandler <-> FrameHandler <-> Transport
305+
App <-> StreamStateHandler <-> RequestResponseHandler <-> SetupFrameHandler <-> FrameHandler <-> Transport
306306
```
307307

308308
The handler receives `ParsedFrame` from `RocketServerSetupFrameHandler` on the inbound

0 commit comments

Comments
 (0)