prototype resumable send & recv

This commit is contained in:
Christian Schwarz
2017-08-18 23:52:33 +02:00
parent e5b713ce5b
commit d12ab6cd57
7 changed files with 234 additions and 3 deletions
+25
View File
@@ -19,6 +19,7 @@ const (
RTFilesystemVersionsRequest = 0x11
RTInitialTransferRequest = 0x12
RTIncrementalTransferRequest = 0x13
RTResumeTransferRequest = 0x14
RTPullMeRequest = 0x20
RTCloseRequest = 0xf0
)
@@ -51,6 +52,30 @@ type IncrementalTransferRequest struct {
To zfs.FilesystemVersion
}
type ResumeTransferRequest struct {
Filesystem *zfs.DatasetPath
Token string
}
type ResumeTransferError struct {
Reason ResumeTransferErrorReason
ZFSError string
}
func (e *ResumeTransferError) Error() string {
return e.Reason.String()
}
//go:generate stringer -type ResumeTransferErrorReason
type ResumeTransferErrorReason uint8
const (
ResumeTransferErrorReasonNotImplemented ResumeTransferErrorReason = iota
ResumeTransferErrorReasonDisabled
ResumeTransferErrorReasonZFSErrorPermanent
ResumeTransferErrorReasonZFSErrorMaybeTemporary
)
func (r IncrementalTransferRequest) Respond(snapshotReader io.Reader) {
}