justinmclean opened a new issue, #4418: URL: https://github.com/apache/iggy/issues/4418
The Rust client has `SystemClient::snapshot` (`core/common/src/traits/system_client.rs`), which captures the current system state as a snapshot. The Go SDK defines the command code, `GetSnapshotFileCode` in `foreign/go/internal/command/code.go`, but has no command or client method for it. ## What to do - Add `SnapshotCompression` and `SystemSnapshotType` types under `foreign/go/contracts/`, matching the Rust enums. - Add a `Snapshot` command to `foreign/go/internal/command/system.go` that uses `GetSnapshotFileCode`. The request and response formats are in `core/binary_protocol/src/requests/system/get_snapshot.rs` and `core/binary_protocol/src/responses/system/get_snapshot.rs`. - Add `Snapshot` to the `Client` interface in `foreign/go/contracts/client.go`, following `DescribeOptions`. - Implement it in `foreign/go/client/tcp/tcp_utilities.go`, following `DescribeOptions`. - Add a serialisation test to `foreign/go/internal/command/system_test.go`. ## Done when `client.Snapshot(...)` returns a non-empty snapshot against a running server, and the tests pass. -- 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]
