diff --git a/audit/types.go b/audit/types.go index 35aa52a..8245b2a 100644 --- a/audit/types.go +++ b/audit/types.go @@ -19,7 +19,7 @@ type DataAuditResult struct { pubKey []byte - passSG, failSG []*refs.ObjectID + passSG, failSG []refs.ObjectID failNodes, passNodes [][]byte @@ -91,7 +91,7 @@ func (a *DataAuditResult) SetPublicKey(v []byte) { } // GetPassSG returns list of Storage Groups that passed audit PoR stage. -func (a *DataAuditResult) GetPassSG() []*refs.ObjectID { +func (a *DataAuditResult) GetPassSG() []refs.ObjectID { if a != nil { return a.passSG } @@ -100,14 +100,14 @@ func (a *DataAuditResult) GetPassSG() []*refs.ObjectID { } // SetPassSG sets list of Storage Groups that passed audit PoR stage. -func (a *DataAuditResult) SetPassSG(v []*refs.ObjectID) { +func (a *DataAuditResult) SetPassSG(v []refs.ObjectID) { if a != nil { a.passSG = v } } // GetFailSG returns list of Storage Groups that failed audit PoR stage. -func (a *DataAuditResult) GetFailSG() []*refs.ObjectID { +func (a *DataAuditResult) GetFailSG() []refs.ObjectID { if a != nil { return a.failSG } @@ -116,7 +116,7 @@ func (a *DataAuditResult) GetFailSG() []*refs.ObjectID { } // SetFailSG sets list of Storage Groups that failed audit PoR stage. -func (a *DataAuditResult) SetFailSG(v []*refs.ObjectID) { +func (a *DataAuditResult) SetFailSG(v []refs.ObjectID) { if a != nil { a.failSG = v } diff --git a/object/types.go b/object/types.go index 596ed3e..63002bc 100644 --- a/object/types.go +++ b/object/types.go @@ -34,7 +34,7 @@ type SplitHeader struct { parHdr *Header - children []*refs.ObjectID + children []refs.ObjectID splitID []byte } @@ -228,7 +228,7 @@ type SearchRequest struct { } type SearchResponseBody struct { - idList []*refs.ObjectID + idList []refs.ObjectID } type SearchResponse struct { @@ -500,7 +500,7 @@ func (h *SplitHeader) SetParentHeader(v *Header) { } } -func (h *SplitHeader) GetChildren() []*refs.ObjectID { +func (h *SplitHeader) GetChildren() []refs.ObjectID { if h != nil { return h.children } @@ -508,7 +508,7 @@ func (h *SplitHeader) GetChildren() []*refs.ObjectID { return nil } -func (h *SplitHeader) SetChildren(v []*refs.ObjectID) { +func (h *SplitHeader) SetChildren(v []refs.ObjectID) { if h != nil { h.children = v } @@ -1316,7 +1316,7 @@ func (r *SearchRequest) SetBody(v *SearchRequestBody) { } } -func (r *SearchResponseBody) GetIDList() []*refs.ObjectID { +func (r *SearchResponseBody) GetIDList() []refs.ObjectID { if r != nil { return r.idList } @@ -1324,7 +1324,7 @@ func (r *SearchResponseBody) GetIDList() []*refs.ObjectID { return nil } -func (r *SearchResponseBody) SetIDList(v []*refs.ObjectID) { +func (r *SearchResponseBody) SetIDList(v []refs.ObjectID) { if r != nil { r.idList = v } diff --git a/refs/bench_test.go b/refs/bench_test.go index dc5b393..aed5f79 100644 --- a/refs/bench_test.go +++ b/refs/bench_test.go @@ -15,9 +15,8 @@ func BenchmarkObjectIDSlice(b *testing.B) { } func benchmarkObjectIDSlice(b *testing.B, size int) { - ids := make([]*ObjectID, size) + ids := make([]ObjectID, size) for i := range ids { - ids[i] = new(ObjectID) ids[i].val = make([]byte, 32) rand.Read(ids[i].val) } diff --git a/refs/convert.go b/refs/convert.go index bb6e988..feb851f 100644 --- a/refs/convert.go +++ b/refs/convert.go @@ -110,7 +110,7 @@ func (o *ObjectID) FromGRPCMessage(m grpc.Message) error { return nil } -func ObjectIDListToGRPCMessage(ids []*ObjectID) (res []*refs.ObjectID) { +func ObjectIDListToGRPCMessage(ids []ObjectID) (res []*refs.ObjectID) { if ids != nil { res = make([]*refs.ObjectID, 0, len(ids)) @@ -122,23 +122,17 @@ func ObjectIDListToGRPCMessage(ids []*ObjectID) (res []*refs.ObjectID) { return } -func ObjectIDListFromGRPCMessage(idsV2 []*refs.ObjectID) (res []*ObjectID, err error) { +func ObjectIDListFromGRPCMessage(idsV2 []*refs.ObjectID) (res []ObjectID, err error) { if idsV2 != nil { - res = make([]*ObjectID, 0, len(idsV2)) + res = make([]ObjectID, len(idsV2)) for i := range idsV2 { - var id *ObjectID - if idsV2[i] != nil { - id = new(ObjectID) - - err = id.FromGRPCMessage(idsV2[i]) + err = res[i].FromGRPCMessage(idsV2[i]) if err != nil { return } } - - res = append(res, id) } } diff --git a/refs/marshal.go b/refs/marshal.go index c496221..aa04b63 100644 --- a/refs/marshal.go +++ b/refs/marshal.go @@ -104,9 +104,9 @@ func (o *ObjectID) StableMarshal(buf []byte) ([]byte, error) { // ObjectIDNestedListSize returns byte length of nested // repeated ObjectID field with fNum number. -func ObjectIDNestedListSize(fNum int64, ids []*ObjectID) (sz int) { +func ObjectIDNestedListSize(fNum int64, ids []ObjectID) (sz int) { for i := range ids { - sz += proto.NestedStructureSize(fNum, ids[i]) + sz += proto.NestedStructureSize(fNum, &ids[i]) } return @@ -122,11 +122,11 @@ func (o *ObjectID) StableSize() int { // ObjectIDNestedListMarshal writes protobuf repeated ObjectID field // with fNum number to buf. -func ObjectIDNestedListMarshal(fNum int64, buf []byte, ids []*ObjectID) (off int, err error) { +func ObjectIDNestedListMarshal(fNum int64, buf []byte, ids []ObjectID) (off int, err error) { for i := range ids { var n int - n, err = proto.NestedStructureMarshal(fNum, buf[off:], ids[i]) + n, err = proto.NestedStructureMarshal(fNum, buf[off:], &ids[i]) if err != nil { return } diff --git a/refs/test/generate.go b/refs/test/generate.go index 3912ffa..7a142e3 100644 --- a/refs/test/generate.go +++ b/refs/test/generate.go @@ -48,13 +48,13 @@ func GenerateObjectID(empty bool) *refs.ObjectID { return m } -func GenerateObjectIDs(empty bool) []*refs.ObjectID { - var ids []*refs.ObjectID +func GenerateObjectIDs(empty bool) []refs.ObjectID { + var ids []refs.ObjectID if !empty { ids = append(ids, - GenerateObjectID(false), - GenerateObjectID(false), + *GenerateObjectID(false), + *GenerateObjectID(false), ) } diff --git a/storagegroup/types.go b/storagegroup/types.go index 6c493ed..38f66f6 100644 --- a/storagegroup/types.go +++ b/storagegroup/types.go @@ -13,7 +13,7 @@ type StorageGroup struct { exp uint64 - members []*refs.ObjectID + members []refs.ObjectID } // GetValidationDataSize of unified storage group structure. @@ -66,7 +66,7 @@ func (s *StorageGroup) SetExpirationEpoch(v uint64) { // GetMembers of unified storage group structure. Members are objects of // storage group. -func (s *StorageGroup) GetMembers() []*refs.ObjectID { +func (s *StorageGroup) GetMembers() []refs.ObjectID { if s != nil { return s.members } @@ -76,7 +76,7 @@ func (s *StorageGroup) GetMembers() []*refs.ObjectID { // SetMembers into unified storage group structure. Members are objects of // storage group. -func (s *StorageGroup) SetMembers(v []*refs.ObjectID) { +func (s *StorageGroup) SetMembers(v []refs.ObjectID) { if s != nil { s.members = v } diff --git a/tombstone/marshal.go b/tombstone/marshal.go index f39d5d9..cd778b9 100644 --- a/tombstone/marshal.go +++ b/tombstone/marshal.go @@ -43,7 +43,7 @@ func (s *Tombstone) StableMarshal(buf []byte) ([]byte, error) { offset += n for i := range s.members { - n, err = proto.NestedStructureMarshal(membersFNum, buf[offset:], s.members[i]) + n, err = proto.NestedStructureMarshal(membersFNum, buf[offset:], &s.members[i]) if err != nil { return nil, err } @@ -62,9 +62,8 @@ func (s *Tombstone) StableSize() (size int) { size += proto.UInt64Size(expFNum, s.exp) size += proto.BytesSize(splitIDFNum, s.splitID) - for i := range s.members { - size += proto.NestedStructureSize(membersFNum, s.members[i]) + size += proto.NestedStructureSize(membersFNum, &s.members[i]) } return size diff --git a/tombstone/types.go b/tombstone/types.go index 2bcc19d..6cce852 100644 --- a/tombstone/types.go +++ b/tombstone/types.go @@ -11,7 +11,7 @@ type Tombstone struct { splitID []byte - members []*refs.ObjectID + members []refs.ObjectID } // GetExpirationEpoch returns number of tombstone expiration epoch. @@ -47,7 +47,7 @@ func (s *Tombstone) SetSplitID(v []byte) { } // GetMembers returns list of objects to be deleted. -func (s *Tombstone) GetMembers() []*refs.ObjectID { +func (s *Tombstone) GetMembers() []refs.ObjectID { if s != nil { return s.members } @@ -56,7 +56,7 @@ func (s *Tombstone) GetMembers() []*refs.ObjectID { } // SetMembers sets list of objects to be deleted. -func (s *Tombstone) SetMembers(v []*refs.ObjectID) { +func (s *Tombstone) SetMembers(v []refs.ObjectID) { if s != nil { s.members = v }