1package structs 2 3type SnapshotOp int 4 5const ( 6 SnapshotSave SnapshotOp = iota 7 SnapshotRestore 8) 9 10// SnapshotReplyFn gets a peek at the reply before the snapshot streams, which 11// is useful for setting headers. 12type SnapshotReplyFn func(reply *SnapshotResponse) error 13 14// SnapshotRequest is used as a header for a snapshot RPC request. This will 15// precede any streaming data that's part of the request and is JSON-encoded on 16// the wire. 17type SnapshotRequest struct { 18 // Datacenter is the target datacenter for this request. The request 19 // will be forwarded if necessary. 20 Datacenter string 21 22 // Token is the ACL token to use for the operation. If ACLs are enabled 23 // then all operations require a management token. 24 Token string 25 26 // If set, any follower can service the request. Results may be 27 // arbitrarily stale. Only applies to SnapshotSave. 28 AllowStale bool 29 30 // Op is the operation code for the RPC. 31 Op SnapshotOp 32} 33 34// SnapshotResponse is used header for a snapshot RPC response. This will 35// precede any streaming data that's part of the request and is JSON-encoded on 36// the wire. 37type SnapshotResponse struct { 38 // Error is the overall error status of the RPC request. 39 Error string 40 41 // QueryMeta has freshness information about the server that handled the 42 // request. It is only filled in for a SnapshotSave. 43 QueryMeta 44} 45