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

   ## Which issue does this PR close?
   
   Closes #2716
   
   ## Rationale
   
   The async TCP client was missing 17 methods that existed in the blocking 
client, limiting its usability for async workflows.
   
   ## What changed?
   
   The async TCP client only exposed 5 of 9 sub-client interfaces (Messages, 
ConsumerGroups, Streams, Topics, Users), and ConsumerGroupsClient had only 2 of 
6 methods. This left 17 methods unavailable for async operations.
   
   Added 4 new async client interfaces (SystemClient, 
PersonalAccessTokensClient, PartitionsClient, ConsumerOffsetsClient) with full 
TCP implementations, and extended ConsumerGroupsClient with 4 missing methods 
(get, getAll, create, delete). All async methods follow the existing pattern 
using CompletableFuture and match the blocking client API exactly.
   
   ## Local Execution
   
   - Passed
   - Yes
   
   ## AI Usage
   
   1. **Which tools?** Claude Sonnet 4.5
   2. **Scope of usage?** Code scaffolding and implementation assistance, AI 
helped generate the async client interfaces and TCP implementations following 
existing codebase patterns
   3. **How verified?** Compiled successfully with Gradle build, reviewed all 
generated code against blocking client implementations to ensure correct 
serialization/deserialization logic, command codes, and error handling
   4. **Can explain every line?** Yes, all code follows established patterns 
from existing async clients (UsersTcpClient, ConsumerGroupsTcpClient). Each 
implementation uses BytesSerializer for request payloads, CommandCode enums for 
operations, and BytesDeserializer for responses with proper resource cleanup in 
finally blocks.


-- 
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