atharvalade opened a new pull request, #2698: URL: https://github.com/apache/iggy/pull/2698
## Which issue does this PR close? Closes #2627 ## Rationale The C# SDK is missing the get_snapshot API method, which is needed for feature parity with the Rust client. ## What changed? The C# SDK had no way to capture system state snapshots. Both TCP and HTTP clients now lacked the GetSnapshotAsync method, and the SnapshotCompression/SystemSnapshotType enums used implicit 0-based values that didn't match the Rust binary wire protocol codes. Added GetSnapshotAsync to the IIggySystem interface with TCP (binary serialization) and HTTP (JSON + binary ZIP response) implementations. Assigned explicit integer values to both enums to match Rust's as_code()/from_code() mappings. Added an integration test validating ZIP archive responses for both protocols. ## Local Execution Passed, all 55 unit tests pass, SDK and integration test projects build with 0 warnings/0 errors Pre-commit hooks not ran, prek not installed, this is a C#-only change (no Rust modifications) ## AI Usage Claude Opus 4.6 Minimal, used for general function scaffolding and verifying binary format alignment against the Rust source Verified by cross-referencing every enum value, byte layout, and JSON format against the Rust server source code byte-by-byte; ran full build and unit test suite locally Yes I can explain every line -- 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]
