hubcio opened a new pull request, #4089:
URL: https://github.com/apache/iggy/pull/4089

   responses.rs mixed three concerns in 2459 lines: identifier and
   namespace resolution, reply frame building, and the process probe
   behind GetStats. Around it the read side carried two more forks:
   private server copies of the metadata crate's stream and topic
   resolvers, and five hand-written ReplyHeader echo literals plus a
   sixth writing the rejection result section against a private 12-byte
   constant. Any change to an echo or a resolver had to be repeated at
   every copy.
   
   Split responses.rs into leaf modules by role: namespace.rs resolves
   wire identifiers and partition namespaces and owns the
   consumer-group offset fence, reply_frame.rs owns the seven frame
   builders, and sysinfo_probe.rs owns that probe. The catalog keeps
   NonReplicatedResponse and imports the three one way, keeping the
   module graph a DAG.
   
   Export StreamsInner::resolve_stream_id and resolve_topic_id beside
   the sibling UsersInner::resolve_user_id, and delete the server
   copies, so the in-apply, dispatch read and HTTP read gates end on
   one resolution.
   
   Give ReplyHeader two constructors: from_prepare reproduces the
   committed-reply literal, echoing is the base the request-echo sites
   consume with `..`. echoing leaves client zero on purpose: dispatch
   stamps the transport id, the rest the VSR id, so no base can pick
   one. The rejection section moves beside its decoder as
   write_rejection_section. The NoAck fast path keeps its literal: it
   stamps live consensus fields, not the echo. Frames match byte for
   byte before and after.
   
   The dispatch failure exits trade byte snapshots, which pinned the
   previous refactor rather than the wire contract, for one shape test
   per exit.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to