hubcio opened a new pull request, #3041:
URL: https://github.com/apache/iggy/pull/3041
The binary protocol layer had three redundant serialization
paths: ServerCommand enum + binary_mapper (hand-rolled
command dispatch), BytesSerializable trait (domain type
serialization), and WireEncode/WireDecode (wire protocol
types). All three did the same job with different APIs.
This PR collapses them into one: wire types flow from
transport through shard dispatch to handlers. The
ServerCommand enum, binary_mapper, 45+ command structs,
and BytesSerializable trait are deleted entirely.
Changes:
- Route wire types through ShardRequestPayload and SDK
binary impls, eliminating ServerCommand dispatch
- Delete 45+ command structs from iggy_common/commands/,
replace with thin HTTP DTOs in iggy_common/http/
- Switch WAL (EntryCommand/StateEntry) to WireEncode/
WireDecode, delete BytesSerializable from WAL path
- Remove all 21 BytesSerializable impls and delete the
trait itself
- SDK poll/send now use PollMessagesRequest and
SendMessagesEncoder (zero-copy) instead of
intermediate BytesSerializable allocations
- Add wire conversion functions and response-to-domain
conversions in wire_conversions.rs
--
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]