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]

Reply via email to