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]
