diff --git a/audit/convert.go b/audit/convert.go deleted file mode 100644 index a841928..0000000 --- a/audit/convert.go +++ /dev/null @@ -1,94 +0,0 @@ -package audit - -import ( - audit "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/audit/grpc" - "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs" - refsGRPC "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs/grpc" - "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/rpc/grpc" - "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/rpc/message" -) - -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 -} diff --git a/audit/grpc/types.go b/audit/grpc/types.go deleted file mode 100644 index 59bb184..0000000 --- a/audit/grpc/types.go +++ /dev/null @@ -1,75 +0,0 @@ -package audit - -import ( - refs "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs/grpc" -) - -// SetVersion is a Version field setter. -func (x *DataAuditResult) SetVersion(v *refs.Version) { - x.Version = v -} - -// SetAuditEpoch is an AuditEpoch field setter. -func (x *DataAuditResult) SetAuditEpoch(v uint64) { - x.AuditEpoch = v -} - -// SetContainerId is a ContainerId field setter. -func (x *DataAuditResult) SetContainerId(v *refs.ContainerID) { - x.ContainerId = v -} - -// SetPublicKey is a PublicKey field setter. -func (x *DataAuditResult) SetPublicKey(v []byte) { - x.PublicKey = v -} - -// SetComplete is a Complete field setter. -func (x *DataAuditResult) SetComplete(v bool) { - x.Complete = v -} - -// SetRequests is a Requests field setter. -func (x *DataAuditResult) SetRequests(v uint32) { - x.Requests = v -} - -// SetRetries is a Retries field setter. -func (x *DataAuditResult) SetRetries(v uint32) { - x.Retries = v -} - -// SetPassSg is a PassSg field setter. -func (x *DataAuditResult) SetPassSg(v []*refs.ObjectID) { - x.PassSg = v -} - -// SetFailSg is a FailSg field setter. -func (x *DataAuditResult) SetFailSg(v []*refs.ObjectID) { - x.FailSg = v -} - -// SetHit is a Hit field setter. -func (x *DataAuditResult) SetHit(v uint32) { - x.Hit = v -} - -// SetMiss is a Miss field setter. -func (x *DataAuditResult) SetMiss(v uint32) { - x.Miss = v -} - -// SetFail is a Fail field setter. -func (x *DataAuditResult) SetFail(v uint32) { - x.Fail = v -} - -// SetPassNodes is a PassNodes field setter. -func (x *DataAuditResult) SetPassNodes(v [][]byte) { - x.PassNodes = v -} - -// SetFailNodes is a FailNodes field setter. -func (x *DataAuditResult) SetFailNodes(v [][]byte) { - x.FailNodes = v -} diff --git a/audit/grpc/types.pb.go b/audit/grpc/types.pb.go deleted file mode 100644 index 57243ef..0000000 --- a/audit/grpc/types.pb.go +++ /dev/null @@ -1,311 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.33.0 -// protoc v4.25.3 -// source: audit/grpc/types.proto - -package audit - -import ( - grpc "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs/grpc" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// DataAuditResult keeps record of conducted Data Audits. The detailed report is -// generated separately. -type DataAuditResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Data Audit Result format version. Effectively, the version of API library - // used to report DataAuditResult structure. - Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` - // Epoch number when the Data Audit was conducted - AuditEpoch uint64 `protobuf:"fixed64,2,opt,name=audit_epoch,json=auditEpoch,proto3" json:"audit_epoch,omitempty"` - // Container under audit - ContainerId *grpc.ContainerID `protobuf:"bytes,3,opt,name=container_id,json=containerID,proto3" json:"container_id,omitempty"` - // Public key of the auditing InnerRing node in a binary format - PublicKey []byte `protobuf:"bytes,4,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` - // Shows if Data Audit process was complete in time or if it was cancelled - Complete bool `protobuf:"varint,5,opt,name=complete,proto3" json:"complete,omitempty"` - // Number of request done at PoR stage - Requests uint32 `protobuf:"varint,6,opt,name=requests,proto3" json:"requests,omitempty"` - // Number of retries done at PoR stage - Retries uint32 `protobuf:"varint,7,opt,name=retries,proto3" json:"retries,omitempty"` - // List of Storage Groups that passed audit PoR stage - PassSg []*grpc.ObjectID `protobuf:"bytes,8,rep,name=pass_sg,json=passSG,proto3" json:"pass_sg,omitempty"` - // List of Storage Groups that failed audit PoR stage - FailSg []*grpc.ObjectID `protobuf:"bytes,9,rep,name=fail_sg,json=failSG,proto3" json:"fail_sg,omitempty"` - // Number of sampled objects under the audit placed in an optimal way - // according to the containers placement policy when checking PoP - Hit uint32 `protobuf:"varint,10,opt,name=hit,proto3" json:"hit,omitempty"` - // Number of sampled objects under the audit placed in suboptimal way - // according to the containers placement policy, but still at a satisfactory - // level when checking PoP - Miss uint32 `protobuf:"varint,11,opt,name=miss,proto3" json:"miss,omitempty"` - // Number of sampled objects under the audit stored inconsistently with the - // placement policy or not found at all when checking PoP - Fail uint32 `protobuf:"varint,12,opt,name=fail,proto3" json:"fail,omitempty"` - // List of storage node public keys that passed at least one PDP - PassNodes [][]byte `protobuf:"bytes,13,rep,name=pass_nodes,json=passNodes,proto3" json:"pass_nodes,omitempty"` - // List of storage node public keys that failed at least one PDP - FailNodes [][]byte `protobuf:"bytes,14,rep,name=fail_nodes,json=failNodes,proto3" json:"fail_nodes,omitempty"` -} - -func (x *DataAuditResult) Reset() { - *x = DataAuditResult{} - if protoimpl.UnsafeEnabled { - mi := &file_audit_grpc_types_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DataAuditResult) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DataAuditResult) ProtoMessage() {} - -func (x *DataAuditResult) ProtoReflect() protoreflect.Message { - mi := &file_audit_grpc_types_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DataAuditResult.ProtoReflect.Descriptor instead. -func (*DataAuditResult) Descriptor() ([]byte, []int) { - return file_audit_grpc_types_proto_rawDescGZIP(), []int{0} -} - -func (x *DataAuditResult) GetVersion() *grpc.Version { - if x != nil { - return x.Version - } - return nil -} - -func (x *DataAuditResult) GetAuditEpoch() uint64 { - if x != nil { - return x.AuditEpoch - } - return 0 -} - -func (x *DataAuditResult) GetContainerId() *grpc.ContainerID { - if x != nil { - return x.ContainerId - } - return nil -} - -func (x *DataAuditResult) GetPublicKey() []byte { - if x != nil { - return x.PublicKey - } - return nil -} - -func (x *DataAuditResult) GetComplete() bool { - if x != nil { - return x.Complete - } - return false -} - -func (x *DataAuditResult) GetRequests() uint32 { - if x != nil { - return x.Requests - } - return 0 -} - -func (x *DataAuditResult) GetRetries() uint32 { - if x != nil { - return x.Retries - } - return 0 -} - -func (x *DataAuditResult) GetPassSg() []*grpc.ObjectID { - if x != nil { - return x.PassSg - } - return nil -} - -func (x *DataAuditResult) GetFailSg() []*grpc.ObjectID { - if x != nil { - return x.FailSg - } - return nil -} - -func (x *DataAuditResult) GetHit() uint32 { - if x != nil { - return x.Hit - } - return 0 -} - -func (x *DataAuditResult) GetMiss() uint32 { - if x != nil { - return x.Miss - } - return 0 -} - -func (x *DataAuditResult) GetFail() uint32 { - if x != nil { - return x.Fail - } - return 0 -} - -func (x *DataAuditResult) GetPassNodes() [][]byte { - if x != nil { - return x.PassNodes - } - return nil -} - -func (x *DataAuditResult) GetFailNodes() [][]byte { - if x != nil { - return x.FailNodes - } - return nil -} - -var File_audit_grpc_types_proto protoreflect.FileDescriptor - -var file_audit_grpc_types_proto_rawDesc = []byte{ - 0x0a, 0x16, 0x61, 0x75, 0x64, 0x69, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, - 0x2e, 0x76, 0x32, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x1a, 0x15, 0x72, 0x65, 0x66, 0x73, 0x2f, - 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0xf4, 0x03, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, - 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, - 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0a, 0x61, 0x75, - 0x64, 0x69, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0b, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x70, 0x61, 0x73, - 0x73, 0x5f, 0x73, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, - 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x44, 0x52, 0x06, 0x70, 0x61, 0x73, 0x73, 0x53, 0x47, 0x12, 0x31, 0x0a, 0x07, - 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x73, 0x67, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x52, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x53, 0x47, 0x12, - 0x10, 0x0a, 0x03, 0x68, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x68, 0x69, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x69, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x6d, 0x69, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x61, 0x69, 0x6c, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, - 0x73, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x70, - 0x61, 0x73, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x61, 0x69, 0x6c, - 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x66, 0x61, - 0x69, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x5e, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x2e, 0x66, - 0x72, 0x6f, 0x73, 0x74, 0x66, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2f, 0x54, 0x72, 0x75, 0x65, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4c, 0x61, 0x62, 0x2f, 0x66, 0x72, 0x6f, 0x73, 0x74, 0x66, 0x73, - 0x2d, 0x61, 0x70, 0x69, 0x2d, 0x67, 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, - 0x2f, 0x67, 0x72, 0x70, 0x63, 0x3b, 0x61, 0x75, 0x64, 0x69, 0x74, 0xaa, 0x02, 0x19, 0x4e, 0x65, - 0x6f, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x50, - 0x49, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_audit_grpc_types_proto_rawDescOnce sync.Once - file_audit_grpc_types_proto_rawDescData = file_audit_grpc_types_proto_rawDesc -) - -func file_audit_grpc_types_proto_rawDescGZIP() []byte { - file_audit_grpc_types_proto_rawDescOnce.Do(func() { - file_audit_grpc_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_audit_grpc_types_proto_rawDescData) - }) - return file_audit_grpc_types_proto_rawDescData -} - -var file_audit_grpc_types_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_audit_grpc_types_proto_goTypes = []interface{}{ - (*DataAuditResult)(nil), // 0: neo.fs.v2.audit.DataAuditResult - (*grpc.Version)(nil), // 1: neo.fs.v2.refs.Version - (*grpc.ContainerID)(nil), // 2: neo.fs.v2.refs.ContainerID - (*grpc.ObjectID)(nil), // 3: neo.fs.v2.refs.ObjectID -} -var file_audit_grpc_types_proto_depIdxs = []int32{ - 1, // 0: neo.fs.v2.audit.DataAuditResult.version:type_name -> neo.fs.v2.refs.Version - 2, // 1: neo.fs.v2.audit.DataAuditResult.container_id:type_name -> neo.fs.v2.refs.ContainerID - 3, // 2: neo.fs.v2.audit.DataAuditResult.pass_sg:type_name -> neo.fs.v2.refs.ObjectID - 3, // 3: neo.fs.v2.audit.DataAuditResult.fail_sg:type_name -> neo.fs.v2.refs.ObjectID - 4, // [4:4] is the sub-list for method output_type - 4, // [4:4] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name -} - -func init() { file_audit_grpc_types_proto_init() } -func file_audit_grpc_types_proto_init() { - if File_audit_grpc_types_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_audit_grpc_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataAuditResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_audit_grpc_types_proto_rawDesc, - NumEnums: 0, - NumMessages: 1, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_audit_grpc_types_proto_goTypes, - DependencyIndexes: file_audit_grpc_types_proto_depIdxs, - MessageInfos: file_audit_grpc_types_proto_msgTypes, - }.Build() - File_audit_grpc_types_proto = out.File - file_audit_grpc_types_proto_rawDesc = nil - file_audit_grpc_types_proto_goTypes = nil - file_audit_grpc_types_proto_depIdxs = nil -} diff --git a/audit/json.go b/audit/json.go deleted file mode 100644 index cbcf41f..0000000 --- a/audit/json.go +++ /dev/null @@ -1,14 +0,0 @@ -package audit - -import ( - audit "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/audit/grpc" - "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/rpc/message" -) - -func (a *DataAuditResult) MarshalJSON() ([]byte, error) { - return message.MarshalJSON(a) -} - -func (a *DataAuditResult) UnmarshalJSON(data []byte) error { - return message.UnmarshalJSON(a, data, new(audit.DataAuditResult)) -} diff --git a/audit/marshal.go b/audit/marshal.go deleted file mode 100644 index a039baf..0000000 --- a/audit/marshal.go +++ /dev/null @@ -1,88 +0,0 @@ -package audit - -import ( - audit "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/audit/grpc" - "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs" - "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/rpc/message" - "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/util/proto" -) - -const ( - _ = iota - versionFNum - auditEpochFNum - cidFNum - pubKeyFNum - completeFNum - requestsFNum - retriesFNum - passSGFNum - failSGFNum - hitFNum - missFNum - failFNum - passNodesFNum - failNodesFNum -) - -// StableMarshal marshals unified DataAuditResult structure into a protobuf -// binary format without field order shuffle. -func (a *DataAuditResult) StableMarshal(buf []byte) []byte { - if a == nil { - return []byte{} - } - - if buf == nil { - buf = make([]byte, a.StableSize()) - } - - var offset int - - offset += proto.NestedStructureMarshal(versionFNum, buf[offset:], a.version) - offset += proto.Fixed64Marshal(auditEpochFNum, buf[offset:], a.auditEpoch) - offset += proto.NestedStructureMarshal(cidFNum, buf[offset:], a.cid) - offset += proto.BytesMarshal(pubKeyFNum, buf[offset:], a.pubKey) - offset += proto.BoolMarshal(completeFNum, buf[offset:], a.complete) - offset += proto.UInt32Marshal(requestsFNum, buf[offset:], a.requests) - offset += proto.UInt32Marshal(retriesFNum, buf[offset:], a.retries) - offset += refs.ObjectIDNestedListMarshal(passSGFNum, buf[offset:], a.passSG) - offset += refs.ObjectIDNestedListMarshal(failSGFNum, buf[offset:], a.failSG) - offset += proto.UInt32Marshal(hitFNum, buf[offset:], a.hit) - offset += proto.UInt32Marshal(missFNum, buf[offset:], a.miss) - offset += proto.UInt32Marshal(failFNum, buf[offset:], a.fail) - offset += proto.RepeatedBytesMarshal(passNodesFNum, buf[offset:], a.passNodes) - proto.RepeatedBytesMarshal(failNodesFNum, buf[offset:], a.failNodes) - - return buf -} - -// StableSize returns byte length of DataAuditResult structure -// marshaled by StableMarshal function. -func (a *DataAuditResult) StableSize() (size int) { - if a == nil { - return 0 - } - - size += proto.NestedStructureSize(versionFNum, a.version) - size += proto.Fixed64Size(auditEpochFNum, a.auditEpoch) - size += proto.NestedStructureSize(cidFNum, a.cid) - size += proto.BytesSize(pubKeyFNum, a.pubKey) - size += proto.BoolSize(completeFNum, a.complete) - size += proto.UInt32Size(requestsFNum, a.requests) - size += proto.UInt32Size(retriesFNum, a.retries) - size += refs.ObjectIDNestedListSize(passSGFNum, a.passSG) - size += refs.ObjectIDNestedListSize(failSGFNum, a.failSG) - size += proto.UInt32Size(hitFNum, a.hit) - size += proto.UInt32Size(missFNum, a.miss) - size += proto.UInt32Size(failFNum, a.fail) - size += proto.RepeatedBytesSize(passNodesFNum, a.passNodes) - size += proto.RepeatedBytesSize(failNodesFNum, a.failNodes) - - return size -} - -// Unmarshal unmarshals DataAuditResult structure from its protobuf -// binary representation. -func (a *DataAuditResult) Unmarshal(data []byte) error { - return message.Unmarshal(a, data, new(audit.DataAuditResult)) -} diff --git a/audit/message_test.go b/audit/message_test.go deleted file mode 100644 index 02c7f78..0000000 --- a/audit/message_test.go +++ /dev/null @@ -1,15 +0,0 @@ -package audit_test - -import ( - "testing" - - audittest "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/audit/test" - "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/rpc/message" - messagetest "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/rpc/message/test" -) - -func TestMessageConvert(t *testing.T) { - messagetest.TestRPCMessage(t, - func(empty bool) message.Message { return audittest.GenerateDataAuditResult(empty) }, - ) -} diff --git a/audit/test/generate.go b/audit/test/generate.go deleted file mode 100644 index 093cbfe..0000000 --- a/audit/test/generate.go +++ /dev/null @@ -1,29 +0,0 @@ -package audittest - -import ( - "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/audit" - refstest "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs/test" -) - -func GenerateDataAuditResult(empty bool) *audit.DataAuditResult { - m := new(audit.DataAuditResult) - - if !empty { - m.SetPublicKey([]byte{1, 2, 3}) - m.SetAuditEpoch(13) - m.SetHit(100) - m.SetMiss(200) - m.SetFail(300) - m.SetComplete(true) - m.SetPassNodes([][]byte{{1}, {2}}) - m.SetFailNodes([][]byte{{3}, {4}}) - m.SetRequests(666) - m.SetRetries(777) - m.SetVersion(refstest.GenerateVersion(false)) - m.SetContainerID(refstest.GenerateContainerID(false)) - m.SetPassSG(refstest.GenerateObjectIDs(false)) - m.SetFailSG(refstest.GenerateObjectIDs(false)) - } - - return m -} diff --git a/audit/types.go b/audit/types.go deleted file mode 100644 index 6f856f0..0000000 --- a/audit/types.go +++ /dev/null @@ -1,243 +0,0 @@ -package audit - -import ( - "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs" -) - -// DataAuditResult is a unified structure of -// DataAuditResult message from proto definition. -type DataAuditResult struct { - version *refs.Version - - auditEpoch uint64 - - requests, retries uint32 - - hit, miss, fail uint32 - - cid *refs.ContainerID - - pubKey []byte - - passSG, failSG []refs.ObjectID - - failNodes, passNodes [][]byte - - complete bool -} - -// GetVersion returns version of Data Audit structure. -func (a *DataAuditResult) GetVersion() *refs.Version { - if a != nil { - return a.version - } - - return nil -} - -// SetVersion sets version of Data Audit structure. -func (a *DataAuditResult) SetVersion(v *refs.Version) { - a.version = v -} - -// GetAuditEpoch returns epoch number when the Data Audit was conducted. -func (a *DataAuditResult) GetAuditEpoch() uint64 { - if a != nil { - return a.auditEpoch - } - - return 0 -} - -// SetAuditEpoch sets epoch number when the Data Audit was conducted. -func (a *DataAuditResult) SetAuditEpoch(v uint64) { - a.auditEpoch = v -} - -// GetContainerID returns container under audit. -func (a *DataAuditResult) GetContainerID() *refs.ContainerID { - if a != nil { - return a.cid - } - - return nil -} - -// SetContainerID sets container under audit. -func (a *DataAuditResult) SetContainerID(v *refs.ContainerID) { - a.cid = v -} - -// GetPublicKey returns public key of the auditing InnerRing node in a binary format. -func (a *DataAuditResult) GetPublicKey() []byte { - if a != nil { - return a.pubKey - } - - return nil -} - -// SetPublicKey sets public key of the auditing InnerRing node in a binary format. -func (a *DataAuditResult) SetPublicKey(v []byte) { - a.pubKey = v -} - -// GetPassSG returns list of Storage Groups that passed audit PoR stage. -func (a *DataAuditResult) GetPassSG() []refs.ObjectID { - if a != nil { - return a.passSG - } - - return nil -} - -// SetPassSG sets list of Storage Groups that passed audit PoR stage. -func (a *DataAuditResult) SetPassSG(v []refs.ObjectID) { - a.passSG = v -} - -// GetFailSG returns list of Storage Groups that failed audit PoR stage. -func (a *DataAuditResult) GetFailSG() []refs.ObjectID { - if a != nil { - return a.failSG - } - - return nil -} - -// SetFailSG sets list of Storage Groups that failed audit PoR stage. -func (a *DataAuditResult) SetFailSG(v []refs.ObjectID) { - a.failSG = v -} - -// GetRequests returns number of requests made by PoR audit check to get -// all headers of the objects inside storage groups. -func (a *DataAuditResult) GetRequests() uint32 { - if a != nil { - return a.requests - } - - return 0 -} - -// SetRequests sets number of requests made by PoR audit check to get -// all headers of the objects inside storage groups. -func (a *DataAuditResult) SetRequests(v uint32) { - a.requests = v -} - -// GetRetries returns number of retries made by PoR audit check to get -// all headers of the objects inside storage groups. -func (a *DataAuditResult) GetRetries() uint32 { - if a != nil { - return a.retries - } - - return 0 -} - -// SetRetries sets number of retries made by PoR audit check to get -// all headers of the objects inside storage groups. -func (a *DataAuditResult) SetRetries(v uint32) { - a.retries = v -} - -// GetHit returns number of sampled objects under audit placed -// in an optimal way according to the containers placement policy -// when checking PoP. -func (a *DataAuditResult) GetHit() uint32 { - if a != nil { - return a.hit - } - - return 0 -} - -// SetHit sets number of sampled objects under audit placed -// in an optimal way according to the containers placement policy -// when checking PoP. -func (a *DataAuditResult) SetHit(v uint32) { - a.hit = v -} - -// GetMiss returns number of sampled objects under audit placed -// in suboptimal way according to the containers placement policy, -// but still at a satisfactory level when checking PoP. -func (a *DataAuditResult) GetMiss() uint32 { - if a != nil { - return a.miss - } - - return 0 -} - -// SetMiss sets number of sampled objects under audit placed -// in suboptimal way according to the containers placement policy, -// but still at a satisfactory level when checking PoP. -func (a *DataAuditResult) SetMiss(v uint32) { - a.miss = v -} - -// GetFail returns number of sampled objects under audit stored -// in a way not confirming placement policy or not found at all -// when checking PoP. -func (a *DataAuditResult) GetFail() uint32 { - if a != nil { - return a.fail - } - - return 0 -} - -// SetFail sets number of sampled objects under audit stored -// in a way not confirming placement policy or not found at all -// when checking PoP. -func (a *DataAuditResult) SetFail(v uint32) { - a.fail = v -} - -// GetPassNodes returns list of storage node public keys that -// passed at least one PDP. -func (a *DataAuditResult) GetPassNodes() [][]byte { - if a != nil { - return a.passNodes - } - - return nil -} - -// SetPassNodes sets list of storage node public keys that -// passed at least one PDP. -func (a *DataAuditResult) SetPassNodes(v [][]byte) { - a.passNodes = v -} - -// GetFailNodes returns list of storage node public keys that -// failed at least one PDP. -func (a *DataAuditResult) GetFailNodes() [][]byte { - if a != nil { - return a.failNodes - } - - return nil -} - -// SetFailNodes sets list of storage node public keys that -// failed at least one PDP. -func (a *DataAuditResult) SetFailNodes(v [][]byte) { - a.failNodes = v -} - -// GetComplete returns boolean completion statement of audit result. -func (a *DataAuditResult) GetComplete() bool { - if a != nil { - return a.complete - } - - return false // bool default -} - -// SetComplete sets boolean completion statement of audit result. -func (a *DataAuditResult) SetComplete(v bool) { - a.complete = v -}