Inventory: Frame Vec<u8> bounds, APIs, and plan (issue 287) - #521
Conversation
…s and APIs Add a comprehensive new documentation file to inventory all code paths, trait bounds, implementations, and APIs that assume or expose Frame=Vec<u8>. This living ExecPlan aims to clarify the current coupling to Vec<u8> across middleware, envelope handling, hooks, and correlation, to bound migration scope ahead of a potential Bytes migration. It classifies findings by public API, internal usage, tests/examples, and docs, identifies risks and tolerances, and sets out exploration and validation plans, including optional rstest coverage. The document provides a foundation for future migration planning and epic alignment. Co-authored-by: devboxerhub[bot] <devboxerhub[bot]@users.noreply.github.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Reviewer's GuideAdds a new execplan document that inventories and plans around Sequence diagram for current Vec_u8 payload flow through codec, envelope, middleware, and hookssequenceDiagram
participant Codec
participant PacketParts
participant Envelope
participant FrameHandlingResponse
participant ServiceRequest
participant ServiceResponse
participant ClientBeforeSendHook
participant DLQSender
Codec->>PacketParts: decode() returns PacketParts{ payload: Vec_u8 }
PacketParts->>Envelope: new() with payload: Vec_u8
Envelope-->>FrameHandlingResponse: pass Envelope with payload: Vec_u8
FrameHandlingResponse->>ServiceRequest: ServiceRequest::new(env.payload, env.correlation_id)
ServiceRequest-->>ServiceRequest: frame_mut() returns &mut Vec_u8
ServiceRequest-->>ServiceResponse: processed payload Vec_u8
ServiceResponse-->>ClientBeforeSendHook: invoke BeforeSendHook(&mut Vec_u8)
ClientBeforeSendHook-->>ServiceResponse: possibly mutated Vec_u8
ServiceResponse-->>DLQSender: push_dlq.send(Vec_u8) on error path
File-Level Changes
Assessment against linked issues
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Summary
Change description
Why this matters
What to review
Validation plan
Impact
Progress & next steps
Related context
Open questions
◳ Generated by DevBoxer ◰
ℹ️ Tag @devboxerhub to ask questions and address PR feedback
📎 Task: https://www.devboxer.com/task/c4c4719f-ccbb-4995-9d3e-4e942bfda14c
📝 Closes #284
Summary by Sourcery
Documentation:
Vec<u8>-based frame and payload couplings.