29 lines
737 B
Go
29 lines
737 B
Go
package endpoint
|
|
|
|
import "github.com/zrepl/zrepl/replication/logic/pdu"
|
|
|
|
func SendAbstractionToPDU(a Abstraction) *pdu.SendAbstraction {
|
|
var ty pdu.SendAbstraction_SendAbstractionType
|
|
switch a.GetType() {
|
|
case AbstractionLastReceivedHold:
|
|
panic(a)
|
|
case AbstractionReplicationCursorBookmarkV1:
|
|
panic(a)
|
|
case AbstractionReplicationCursorBookmarkV2:
|
|
ty = pdu.SendAbstraction_ReplicationCursorV2
|
|
case AbstractionStepHold:
|
|
ty = pdu.SendAbstraction_StepHold
|
|
case AbstractionStepBookmark:
|
|
ty = pdu.SendAbstraction_StepBookmark
|
|
default:
|
|
panic(a)
|
|
}
|
|
|
|
version := a.GetFilesystemVersion()
|
|
return &pdu.SendAbstraction{
|
|
Type: ty,
|
|
JobID: (*a.GetJobID()).String(),
|
|
Version: pdu.FilesystemVersionFromZFS(&version),
|
|
}
|
|
}
|