github.com/TrueCloudLab/frostfs-api-go/v2@v2.0.0-20230228134343-196241c4e79a/audit/convert.go (about) 1 package audit 2 3 import ( 4 audit "github.com/TrueCloudLab/frostfs-api-go/v2/audit/grpc" 5 "github.com/TrueCloudLab/frostfs-api-go/v2/refs" 6 refsGRPC "github.com/TrueCloudLab/frostfs-api-go/v2/refs/grpc" 7 "github.com/TrueCloudLab/frostfs-api-go/v2/rpc/grpc" 8 "github.com/TrueCloudLab/frostfs-api-go/v2/rpc/message" 9 ) 10 11 func (a *DataAuditResult) ToGRPCMessage() grpc.Message { 12 var m *audit.DataAuditResult 13 14 if a != nil { 15 m = new(audit.DataAuditResult) 16 17 m.SetAuditEpoch(a.auditEpoch) 18 m.SetPublicKey(a.pubKey) 19 m.SetContainerId(a.cid.ToGRPCMessage().(*refsGRPC.ContainerID)) 20 m.SetComplete(a.complete) 21 m.SetVersion(a.version.ToGRPCMessage().(*refsGRPC.Version)) 22 m.SetPassNodes(a.passNodes) 23 m.SetFailNodes(a.failNodes) 24 m.SetRetries(a.retries) 25 m.SetRequests(a.requests) 26 m.SetHit(a.hit) 27 m.SetMiss(a.miss) 28 m.SetFail(a.fail) 29 m.SetPassSg(refs.ObjectIDListToGRPCMessage(a.passSG)) 30 m.SetFailSg(refs.ObjectIDListToGRPCMessage(a.failSG)) 31 } 32 33 return m 34 } 35 36 func (a *DataAuditResult) FromGRPCMessage(m grpc.Message) error { 37 v, ok := m.(*audit.DataAuditResult) 38 if !ok { 39 return message.NewUnexpectedMessageType(m, v) 40 } 41 42 var err error 43 44 cid := v.GetContainerId() 45 if cid == nil { 46 a.cid = nil 47 } else { 48 if a.cid == nil { 49 a.cid = new(refs.ContainerID) 50 } 51 52 err = a.cid.FromGRPCMessage(cid) 53 if err != nil { 54 return err 55 } 56 } 57 58 version := v.GetVersion() 59 if version == nil { 60 a.version = nil 61 } else { 62 if a.version == nil { 63 a.version = new(refs.Version) 64 } 65 66 err = a.version.FromGRPCMessage(version) 67 if err != nil { 68 return err 69 } 70 } 71 72 a.passSG, err = refs.ObjectIDListFromGRPCMessage(v.GetPassSg()) 73 if err != nil { 74 return err 75 } 76 77 a.failSG, err = refs.ObjectIDListFromGRPCMessage(v.GetFailSg()) 78 if err != nil { 79 return err 80 } 81 82 a.auditEpoch = v.GetAuditEpoch() 83 a.pubKey = v.GetPublicKey() 84 a.complete = v.GetComplete() 85 a.passNodes = v.GetPassNodes() 86 a.failNodes = v.GetFailNodes() 87 a.retries = v.GetRetries() 88 a.requests = v.GetRequests() 89 a.hit = v.GetHit() 90 a.miss = v.GetMiss() 91 a.fail = v.GetFail() 92 93 return err 94 }