github.com/TrueCloudLab/frostfs-api-go/v2@v2.0.0-20230228134343-196241c4e79a/tombstone/convert.go (about) 1 package tombstone 2 3 import ( 4 "github.com/TrueCloudLab/frostfs-api-go/v2/refs" 5 "github.com/TrueCloudLab/frostfs-api-go/v2/rpc/grpc" 6 "github.com/TrueCloudLab/frostfs-api-go/v2/rpc/message" 7 tombstone "github.com/TrueCloudLab/frostfs-api-go/v2/tombstone/grpc" 8 ) 9 10 func (s *Tombstone) ToGRPCMessage() grpc.Message { 11 var m *tombstone.Tombstone 12 13 if s != nil { 14 m = new(tombstone.Tombstone) 15 16 m.SetMembers(refs.ObjectIDListToGRPCMessage(s.members)) 17 m.SetExpirationEpoch(s.exp) 18 m.SetSplitId(s.splitID) 19 } 20 21 return m 22 } 23 24 func (s *Tombstone) FromGRPCMessage(m grpc.Message) error { 25 v, ok := m.(*tombstone.Tombstone) 26 if !ok { 27 return message.NewUnexpectedMessageType(m, v) 28 } 29 30 var err error 31 32 s.members, err = refs.ObjectIDListFromGRPCMessage(v.GetMembers()) 33 if err != nil { 34 return err 35 } 36 37 s.exp = v.GetExpirationEpoch() 38 s.splitID = v.GetSplitId() 39 40 return nil 41 }