forked from TrueCloudLab/frostfs-api-go
1031f3122e
Implement `message.Message` interface on all structures and use new methods for conversion instead of functions. make `Unmarshal` and JSON methods to use encoding functions from `message` library. Remove all per-service clients and implement `rpc` library of the functions which execute NeoFS API RPC through new RPC client. Remove no longer used gRPC per-service clients. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
94 lines
2 KiB
Go
94 lines
2 KiB
Go
package audit
|
|
|
|
import (
|
|
"github.com/nspcc-dev/neofs-api-go/rpc/grpc"
|
|
"github.com/nspcc-dev/neofs-api-go/rpc/message"
|
|
audit "github.com/nspcc-dev/neofs-api-go/v2/audit/grpc"
|
|
"github.com/nspcc-dev/neofs-api-go/v2/refs"
|
|
refsGRPC "github.com/nspcc-dev/neofs-api-go/v2/refs/grpc"
|
|
)
|
|
|
|
func (a *DataAuditResult) ToGRPCMessage() grpc.Message {
|
|
var m *audit.DataAuditResult
|
|
|
|
if a != nil {
|
|
m = new(audit.DataAuditResult)
|
|
|
|
m.SetAuditEpoch(a.auditEpoch)
|
|
m.SetPublicKey(a.pubKey)
|
|
m.SetContainerId(a.cid.ToGRPCMessage().(*refsGRPC.ContainerID))
|
|
m.SetComplete(a.complete)
|
|
m.SetVersion(a.version.ToGRPCMessage().(*refsGRPC.Version))
|
|
m.SetPassNodes(a.passNodes)
|
|
m.SetFailNodes(a.failNodes)
|
|
m.SetRetries(a.retries)
|
|
m.SetRequests(a.requests)
|
|
m.SetHit(a.hit)
|
|
m.SetMiss(a.miss)
|
|
m.SetFail(a.fail)
|
|
m.SetPassSg(refs.ObjectIDListToGRPCMessage(a.passSG))
|
|
m.SetFailSg(refs.ObjectIDListToGRPCMessage(a.failSG))
|
|
}
|
|
|
|
return m
|
|
}
|
|
|
|
func (a *DataAuditResult) FromGRPCMessage(m grpc.Message) error {
|
|
v, ok := m.(*audit.DataAuditResult)
|
|
if !ok {
|
|
return message.NewUnexpectedMessageType(m, v)
|
|
}
|
|
|
|
var err error
|
|
|
|
cid := v.GetContainerId()
|
|
if cid == nil {
|
|
a.cid = nil
|
|
} else {
|
|
if a.cid == nil {
|
|
a.cid = new(refs.ContainerID)
|
|
}
|
|
|
|
err = a.cid.FromGRPCMessage(cid)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
version := v.GetVersion()
|
|
if version == nil {
|
|
a.version = nil
|
|
} else {
|
|
if a.version == nil {
|
|
a.version = new(refs.Version)
|
|
}
|
|
|
|
err = a.version.FromGRPCMessage(version)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
a.passSG, err = refs.ObjectIDListFromGRPCMessage(v.GetPassSg())
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
a.failSG, err = refs.ObjectIDListFromGRPCMessage(v.GetFailSg())
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
a.auditEpoch = v.GetAuditEpoch()
|
|
a.pubKey = v.GetPublicKey()
|
|
a.complete = v.GetComplete()
|
|
a.passNodes = v.GetPassNodes()
|
|
a.failNodes = v.GetFailNodes()
|
|
a.retries = v.GetRetries()
|
|
a.requests = v.GetRequests()
|
|
a.hit = v.GetHit()
|
|
a.miss = v.GetMiss()
|
|
a.fail = v.GetFail()
|
|
|
|
return err
|
|
}
|