From 5e1c6a908f61d357acd71c1b0a1320f962ea5827 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Tue, 27 Aug 2024 15:12:31 +0300 Subject: [PATCH] [#111] protogen: Emit slice of messages without a pointer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ``` goos: linux goarch: amd64 pkg: git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs cpu: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz │ old │ new │ │ sec/op │ sec/op vs base │ ObjectIDSlice/0_elements/to_grpc_message-8 3.193n ± 2% 3.242n ± 0% +1.50% (p=0.034 n=10) ObjectIDSlice/0_elements/from_grpc_message-8 3.197n ± 2% 3.343n ± 1% +4.57% (p=0.000 n=10) ObjectIDSlice/0_elements/marshal-8 5.666n ± 3% 5.642n ± 0% -0.42% (p=0.000 n=10) ObjectIDSlice/1_elements/to_grpc_message-8 53.10n ± 6% 29.78n ± 12% -43.92% (p=0.000 n=10) ObjectIDSlice/1_elements/from_grpc_message-8 28.99n ± 5% 29.77n ± 7% ~ (p=0.165 n=10) ObjectIDSlice/1_elements/marshal-8 49.08n ± 7% 50.72n ± 6% ~ (p=0.218 n=10) ObjectIDSlice/50_elements/to_grpc_message-8 1652.5n ± 7% 277.2n ± 1% -83.22% (p=0.000 n=10) ObjectIDSlice/50_elements/from_grpc_message-8 261.2n ± 11% 226.7n ± 15% -13.19% (p=0.003 n=10) ObjectIDSlice/50_elements/marshal-8 1.512µ ± 6% 1.514µ ± 6% ~ (p=0.955 n=10) geomean 52.15n 39.99n -23.31% │ old │ new │ │ B/op │ B/op vs base │ ObjectIDSlice/0_elements/to_grpc_message-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹ ObjectIDSlice/0_elements/from_grpc_message-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹ ObjectIDSlice/0_elements/marshal-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹ ObjectIDSlice/1_elements/to_grpc_message-8 32.00 ± 0% 24.00 ± 0% -25.00% (p=0.000 n=10) ObjectIDSlice/1_elements/from_grpc_message-8 24.00 ± 0% 24.00 ± 0% ~ (p=1.000 n=10) ¹ ObjectIDSlice/1_elements/marshal-8 48.00 ± 0% 48.00 ± 0% ~ (p=1.000 n=10) ¹ ObjectIDSlice/50_elements/to_grpc_message-8 1.578Ki ± 0% 1.250Ki ± 0% -20.79% (p=0.000 n=10) ObjectIDSlice/50_elements/from_grpc_message-8 1.250Ki ± 0% 1.250Ki ± 0% ~ (p=1.000 n=10) ¹ ObjectIDSlice/50_elements/marshal-8 2.000Ki ± 0% 2.000Ki ± 0% ~ (p=1.000 n=10) ¹ geomean ² -5.62% ² ¹ all samples are equal ² summaries must be >0 to compute geomean │ old │ new │ │ allocs/op │ allocs/op vs base │ ObjectIDSlice/0_elements/to_grpc_message-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹ ObjectIDSlice/0_elements/from_grpc_message-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹ ObjectIDSlice/0_elements/marshal-8 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹ ObjectIDSlice/1_elements/to_grpc_message-8 2.000 ± 0% 1.000 ± 0% -50.00% (p=0.000 n=10) ObjectIDSlice/1_elements/from_grpc_message-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ ObjectIDSlice/1_elements/marshal-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ ObjectIDSlice/50_elements/to_grpc_message-8 51.000 ± 0% 1.000 ± 0% -98.04% (p=0.000 n=10) ObjectIDSlice/50_elements/from_grpc_message-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ ObjectIDSlice/50_elements/marshal-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ geomean ² -40.18% ² ¹ all samples are equal ² summaries must be >0 to compute geomean ``` Signed-off-by: Evgenii Stratonikov --- acl/convert.go | 54 +++++------- acl/grpc/types_frostfs.pb.go | Bin 45270 -> 45143 bytes apemanager/convert.go | 6 +- apemanager/grpc/service_frostfs.pb.go | Bin 55317 -> 55286 bytes container/convert.go | 16 ++-- container/grpc/service_frostfs.pb.go | Bin 94832 -> 94795 bytes container/grpc/types_frostfs.pb.go | Bin 11466 -> 11432 bytes lock/grpc/types_frostfs.pb.go | Bin 3810 -> 3778 bytes netmap/convert.go | 82 ++++++++---------- netmap/grpc/types_frostfs.pb.go | Bin 53093 -> 52857 bytes object/convert.go | 54 +++++------- object/grpc/service_frostfs.pb.go | Bin 214558 -> 214426 bytes object/grpc/types_frostfs.pb.go | Bin 59986 -> 59835 bytes object/lock.go | 8 +- refs/convert.go | 32 +++---- session/convert.go | 16 ++-- session/grpc/types_frostfs.pb.go | Bin 65885 -> 65790 bytes status/convert.go | 12 ++- status/grpc/types_frostfs.pb.go | Bin 13457 -> 13423 bytes tombstone/grpc/types_frostfs.pb.go | Bin 5275 -> 5241 bytes util/proto/marshal_test.go | 6 +- util/proto/test/custom/test_frostfs.pb.go | Bin 30182 -> 30142 bytes util/protogen/internalgengo/json.go | 2 +- util/protogen/internalgengo/proto.go | 9 +- .../internalgengo/proto_field_type.go | 5 +- .../internalgengo/proto_stable_compat.go | 2 +- 26 files changed, 138 insertions(+), 166 deletions(-) diff --git a/acl/convert.go b/acl/convert.go index c5768ad..f5de743 100644 --- a/acl/convert.go +++ b/acl/convert.go @@ -187,28 +187,26 @@ func (f *HeaderFilter) FromGRPCMessage(m grpc.Message) error { return nil } -func HeaderFiltersToGRPC(fs []HeaderFilter) (res []*acl.EACLRecord_Filter) { +func HeaderFiltersToGRPC(fs []HeaderFilter) (res []acl.EACLRecord_Filter) { if fs != nil { - res = make([]*acl.EACLRecord_Filter, 0, len(fs)) + res = make([]acl.EACLRecord_Filter, 0, len(fs)) for i := range fs { - res = append(res, fs[i].ToGRPCMessage().(*acl.EACLRecord_Filter)) + res = append(res, *fs[i].ToGRPCMessage().(*acl.EACLRecord_Filter)) } } return } -func HeaderFiltersFromGRPC(fs []*acl.EACLRecord_Filter) (res []HeaderFilter, err error) { +func HeaderFiltersFromGRPC(fs []acl.EACLRecord_Filter) (res []HeaderFilter, err error) { if fs != nil { res = make([]HeaderFilter, len(fs)) for i := range fs { - if fs[i] != nil { - err = res[i].FromGRPCMessage(fs[i]) - if err != nil { - return - } + err = res[i].FromGRPCMessage(&fs[i]) + if err != nil { + return } } } @@ -241,28 +239,26 @@ func (t *Target) FromGRPCMessage(m grpc.Message) error { return nil } -func TargetsToGRPC(ts []Target) (res []*acl.EACLRecord_Target) { +func TargetsToGRPC(ts []Target) (res []acl.EACLRecord_Target) { if ts != nil { - res = make([]*acl.EACLRecord_Target, 0, len(ts)) + res = make([]acl.EACLRecord_Target, 0, len(ts)) for i := range ts { - res = append(res, ts[i].ToGRPCMessage().(*acl.EACLRecord_Target)) + res = append(res, *ts[i].ToGRPCMessage().(*acl.EACLRecord_Target)) } } return } -func TargetsFromGRPC(fs []*acl.EACLRecord_Target) (res []Target, err error) { +func TargetsFromGRPC(fs []acl.EACLRecord_Target) (res []Target, err error) { if fs != nil { res = make([]Target, len(fs)) for i := range fs { - if fs[i] != nil { - err = res[i].FromGRPCMessage(fs[i]) - if err != nil { - return - } + err = res[i].FromGRPCMessage(&fs[i]) + if err != nil { + return } } } @@ -309,28 +305,26 @@ func (r *Record) FromGRPCMessage(m grpc.Message) error { return nil } -func RecordsToGRPC(ts []Record) (res []*acl.EACLRecord) { +func RecordsToGRPC(ts []Record) (res []acl.EACLRecord) { if ts != nil { - res = make([]*acl.EACLRecord, 0, len(ts)) + res = make([]acl.EACLRecord, 0, len(ts)) for i := range ts { - res = append(res, ts[i].ToGRPCMessage().(*acl.EACLRecord)) + res = append(res, *ts[i].ToGRPCMessage().(*acl.EACLRecord)) } } return } -func RecordsFromGRPC(fs []*acl.EACLRecord) (res []Record, err error) { +func RecordsFromGRPC(fs []acl.EACLRecord) (res []Record, err error) { if fs != nil { res = make([]Record, len(fs)) for i := range fs { - if fs[i] != nil { - err = res[i].FromGRPCMessage(fs[i]) - if err != nil { - return - } + err = res[i].FromGRPCMessage(&fs[i]) + if err != nil { + return } } } @@ -429,9 +423,9 @@ func (c *APEOverride) ToGRPCMessage() grpc.Message { m.SetTarget(c.target.ToGRPCMessage().(*apeGRPC.ChainTarget)) if len(c.chains) > 0 { - apeChains := make([]*apeGRPC.Chain, len(c.chains)) + apeChains := make([]apeGRPC.Chain, len(c.chains)) for i := range c.chains { - apeChains[i] = c.chains[i].ToGRPCMessage().(*apeGRPC.Chain) + apeChains[i] = *c.chains[i].ToGRPCMessage().(*apeGRPC.Chain) } m.SetChains(apeChains) } @@ -459,7 +453,7 @@ func (c *APEOverride) FromGRPCMessage(m grpc.Message) error { c.chains = make([]*ape.Chain, len(apeChains)) for i := range apeChains { c.chains[i] = new(ape.Chain) - if err := c.chains[i].FromGRPCMessage(apeChains[i]); err != nil { + if err := c.chains[i].FromGRPCMessage(&apeChains[i]); err != nil { return err } } diff --git a/acl/grpc/types_frostfs.pb.go b/acl/grpc/types_frostfs.pb.go index 931f3b3e2c4c9923bc349962211dcb9bbbf9e95b..2b116bdd94b0cc98da542c54d633d38f03da918f 100644 GIT binary patch delta 621 zcmccikm>pZrVX>qC(kxFnmoUQWAZg~(aCSj4K~YK#4z!N<|SvOCTFLnXc+4#s73g;$qTG_CQk&iQ^XS|pZDaRd|mwb<{x%{8RcCaoqd8* zlkYoeYc;tzIXTnP6s&B4rieLepePDSEJ{x;K~og(^n-D7giH41BQ9Q( z`CYRoFVqv>+~>NRbF!De;^Z8E4^b@EaB)r!Sg0_WFVJGLN`U+1z5p@qvcw{VoXp}9 zh3HryA4M0;UWl&Ee1YbS+z3MzHU|WSq6f<6l_7RalbORozK)*!FHvB!ZT8;H@eypy z5(u4WKBz<8*D$W7iDl0JETv)tzR$`;1S|ElyShb>E*9MB@Od42U7CP^ey&|Fkj yH;<7UNqX`{8QICU4ZfSZ8+Nm*AxVH@jT0#Zk)$Ti4>0FP;#b!q`GUXwxF!IqC(krDo-E(NIr)mYD5KWom*xhHTAL*;VwhMojCB+yH(Ld;Xqf0I zY<_5E!X%ZMrcj~hmYGwMT2vgJ8LOaZtB{wOqfpJoIa%1&h>5dy@&qd-h^mmpqV&`f zbXCa^Rd>T;H-E6b%A}Z=TCU;h=2oD?}iz$NTE6q#qX-oicH8hOui^1J2^Mj1{jem zV>8%*0U?+o1thgo90k#gK{#{sr4$iC9z`cj}P1sis= cPWEW!nS8xf04Vsp)kz3lFOowiv>n$30Mx7G!2kdN diff --git a/apemanager/convert.go b/apemanager/convert.go index fdc5132..5677b25 100644 --- a/apemanager/convert.go +++ b/apemanager/convert.go @@ -296,9 +296,9 @@ func (respBody *ListChainsResponseBody) ToGRPCMessage() grpc.Message { if respBody != nil { respBodygrpc = new(apemanager.ListChainsResponse_Body) - chainsgrpc := make([]*apeGRPC.Chain, 0, len(respBody.GetChains())) + chainsgrpc := make([]apeGRPC.Chain, 0, len(respBody.GetChains())) for _, chain := range respBody.GetChains() { - chainsgrpc = append(chainsgrpc, chain.ToGRPCMessage().(*apeGRPC.Chain)) + chainsgrpc = append(chainsgrpc, *chain.ToGRPCMessage().(*apeGRPC.Chain)) } respBodygrpc.SetChains(chainsgrpc) @@ -317,7 +317,7 @@ func (respBody *ListChainsResponseBody) FromGRPCMessage(m grpc.Message) error { for _, chaingrpc := range respBodygrpc.GetChains() { chain := new(ape.Chain) - if err := chain.FromGRPCMessage(chaingrpc); err != nil { + if err := chain.FromGRPCMessage(&chaingrpc); err != nil { return err } chains = append(chains, chain) diff --git a/apemanager/grpc/service_frostfs.pb.go b/apemanager/grpc/service_frostfs.pb.go index c1d28ed8520b6682bc1ef78e930f824ad254e2b6..99abeb292ce9688df9a8f00c47fcb3dbf07a8cd9 100644 GIT binary patch delta 155 zcmbQbf%)5d<_!}zZ=Sf>l8G-gFF7MMIXg8)!%#;-ZS%RU2N)->+^#>FWoh!{1&7%t zPuM3g`Sp~OljU}vl1MKqNY-=CNX*QuuGQq?)7Ol+&YuL?sDF2 uxqB~*6hb9P8E08ykwQ*pafw27>|~(>j(iB|>RK+&$rsfXHn$v@C=LLaK0PJ? delta 144 zcmeyio_Xp9<_!}zGiq&~u-TGn@`Oojn{RI2$0(VZrcj~hoROHBR~(%gtDtDBke8XG zP|d|TdFpmUCeGT)g;P=|7wi+;Y`= Jxfv&?0RV#OIvfB1 delta 154 zcmV;L0A>Hnf9=A8BSFcrHV4ZggR3Ze?;wWOG|- zT_7PnAZ}@FAbSc4mzn|rHv$QLx6c9r8UmAGE)@$Y3JD1bW@aEdJs_6{1p(5NK9@O{ z5e5N6lb|mnw{`{rrv#TjS^))@@Gb!n40d61AZ%%KbRb(@DwjPA0Y{ewF98~pMExDN IxC;T3W>9-F2mk;8 diff --git a/container/grpc/types_frostfs.pb.go b/container/grpc/types_frostfs.pb.go index dcb9cf42b9ccbf1bd02f8777f33bb2f798d968de..3010eb06cb9d3af5555e758430d5180de59f7f79 100644 GIT binary patch delta 122 zcmX>Vxgv7IWr4|ttip^6o1Y6jV&V(UOU_75&Q49yFx62|+k95|In(6JV#b@f#22uF z)bUlCxi}}s MYbtE6)AnHm0JBFWS^xk5 delta 148 zcmZ1xc`9RTMYH@UCtb(Gg zLSAN$LNyoXKOce{r*va;a k@jzO1^Cm?$PO!jfEwFu)-)Wh{wK4&XQ~=r>qwT{807Mil_y7O^ diff --git a/lock/grpc/types_frostfs.pb.go b/lock/grpc/types_frostfs.pb.go index 52a1a2dc86931f9de911a5bc5736fbec28b510d2..58be8957e413f17c93d68f43fb71b921f135f11b 100644 GIT binary patch delta 122 zcmaDPdq{SJIn!nfru&S1p?S#}sma-?DH?`43Tm6BS>`ZKzRYT{nVszwqjY*vL9(8I zQdVkmiKk0-ttJ;ICudrkf|ad;+GIYCZIh33ByLvctYn$IkXLr{eqI-GGz}p2KplFM M9e6}08}e-g0E3k#1ONa4 delta 169 zcmX>k`$%?!ITNGSW^<l;Sdywq}y^rC`fJ^!Sv)Z`LR7fnqrPEO9WGzBYLg~?ypw=rr> tUd@pRG@pmFl0{w%MJ-4rXIWyALQZCJi9&R&*5pOJE<%__PX5Y!763JVH7WoA diff --git a/netmap/convert.go b/netmap/convert.go index fad7380..659b798 100644 --- a/netmap/convert.go +++ b/netmap/convert.go @@ -45,28 +45,26 @@ func (f *Filter) FromGRPCMessage(m grpc.Message) error { return nil } -func FiltersToGRPC(fs []Filter) (res []*netmap.Filter) { +func FiltersToGRPC(fs []Filter) (res []netmap.Filter) { if fs != nil { - res = make([]*netmap.Filter, 0, len(fs)) + res = make([]netmap.Filter, 0, len(fs)) for i := range fs { - res = append(res, fs[i].ToGRPCMessage().(*netmap.Filter)) + res = append(res, *fs[i].ToGRPCMessage().(*netmap.Filter)) } } return } -func FiltersFromGRPC(fs []*netmap.Filter) (res []Filter, err error) { +func FiltersFromGRPC(fs []netmap.Filter) (res []Filter, err error) { if fs != nil { res = make([]Filter, len(fs)) for i := range fs { - if fs[i] != nil { - err = res[i].FromGRPCMessage(fs[i]) - if err != nil { - return - } + err = res[i].FromGRPCMessage(&fs[i]) + if err != nil { + return } } } @@ -105,28 +103,26 @@ func (s *Selector) FromGRPCMessage(m grpc.Message) error { return nil } -func SelectorsToGRPC(ss []Selector) (res []*netmap.Selector) { +func SelectorsToGRPC(ss []Selector) (res []netmap.Selector) { if ss != nil { - res = make([]*netmap.Selector, 0, len(ss)) + res = make([]netmap.Selector, 0, len(ss)) for i := range ss { - res = append(res, ss[i].ToGRPCMessage().(*netmap.Selector)) + res = append(res, *ss[i].ToGRPCMessage().(*netmap.Selector)) } } return } -func SelectorsFromGRPC(ss []*netmap.Selector) (res []Selector, err error) { +func SelectorsFromGRPC(ss []netmap.Selector) (res []Selector, err error) { if ss != nil { res = make([]Selector, len(ss)) for i := range ss { - if ss[i] != nil { - err = res[i].FromGRPCMessage(ss[i]) - if err != nil { - return - } + err = res[i].FromGRPCMessage(&ss[i]) + if err != nil { + return } } } @@ -163,28 +159,26 @@ func (r *Replica) FromGRPCMessage(m grpc.Message) error { return nil } -func ReplicasToGRPC(rs []Replica) (res []*netmap.Replica) { +func ReplicasToGRPC(rs []Replica) (res []netmap.Replica) { if rs != nil { - res = make([]*netmap.Replica, 0, len(rs)) + res = make([]netmap.Replica, 0, len(rs)) for i := range rs { - res = append(res, rs[i].ToGRPCMessage().(*netmap.Replica)) + res = append(res, *rs[i].ToGRPCMessage().(*netmap.Replica)) } } return } -func ReplicasFromGRPC(rs []*netmap.Replica) (res []Replica, err error) { +func ReplicasFromGRPC(rs []netmap.Replica) (res []Replica, err error) { if rs != nil { res = make([]Replica, len(rs)) for i := range rs { - if rs[i] != nil { - err = res[i].FromGRPCMessage(rs[i]) - if err != nil { - return - } + err = res[i].FromGRPCMessage(&rs[i]) + if err != nil { + return } } } @@ -289,28 +283,26 @@ func (a *Attribute) FromGRPCMessage(m grpc.Message) error { return nil } -func AttributesToGRPC(as []Attribute) (res []*netmap.NodeInfo_Attribute) { +func AttributesToGRPC(as []Attribute) (res []netmap.NodeInfo_Attribute) { if as != nil { - res = make([]*netmap.NodeInfo_Attribute, 0, len(as)) + res = make([]netmap.NodeInfo_Attribute, 0, len(as)) for i := range as { - res = append(res, as[i].ToGRPCMessage().(*netmap.NodeInfo_Attribute)) + res = append(res, *as[i].ToGRPCMessage().(*netmap.NodeInfo_Attribute)) } } return } -func AttributesFromGRPC(as []*netmap.NodeInfo_Attribute) (res []Attribute, err error) { +func AttributesFromGRPC(as []netmap.NodeInfo_Attribute) (res []Attribute, err error) { if as != nil { res = make([]Attribute, len(as)) for i := range as { - if as[i] != nil { - err = res[i].FromGRPCMessage(as[i]) - if err != nil { - return - } + err = res[i].FromGRPCMessage(&as[i]) + if err != nil { + return } } } @@ -528,13 +520,13 @@ func (x *NetworkConfig) ToGRPCMessage() grpc.Message { if x != nil { m = new(netmap.NetworkConfig) - var ps []*netmap.NetworkConfig_Parameter + var ps []netmap.NetworkConfig_Parameter if ln := len(x.ps); ln > 0 { - ps = make([]*netmap.NetworkConfig_Parameter, 0, ln) + ps = make([]netmap.NetworkConfig_Parameter, 0, ln) for i := 0; i < ln; i++ { - ps = append(ps, x.ps[i].ToGRPCMessage().(*netmap.NetworkConfig_Parameter)) + ps = append(ps, *x.ps[i].ToGRPCMessage().(*netmap.NetworkConfig_Parameter)) } } @@ -561,10 +553,8 @@ func (x *NetworkConfig) FromGRPCMessage(m grpc.Message) error { ps = make([]NetworkParameter, ln) for i := 0; i < ln; i++ { - if psV2[i] != nil { - if err := ps[i].FromGRPCMessage(psV2[i]); err != nil { - return err - } + if err := ps[i].FromGRPCMessage(&psV2[i]); err != nil { + return err } } } @@ -756,10 +746,10 @@ func (x *NetMap) ToGRPCMessage() grpc.Message { m.SetEpoch(x.epoch) if x.nodes != nil { - nodes := make([]*netmap.NodeInfo, len(x.nodes)) + nodes := make([]netmap.NodeInfo, len(x.nodes)) for i := range x.nodes { - nodes[i] = x.nodes[i].ToGRPCMessage().(*netmap.NodeInfo) + nodes[i] = *x.nodes[i].ToGRPCMessage().(*netmap.NodeInfo) } m.SetNodes(nodes) @@ -784,7 +774,7 @@ func (x *NetMap) FromGRPCMessage(m grpc.Message) error { x.nodes = make([]NodeInfo, len(nodes)) for i := range nodes { - err = x.nodes[i].FromGRPCMessage(nodes[i]) + err = x.nodes[i].FromGRPCMessage(&nodes[i]) if err != nil { return err } diff --git a/netmap/grpc/types_frostfs.pb.go b/netmap/grpc/types_frostfs.pb.go index 6ecf0fac8f7934cfee61ed59933746b0728e066d..e7597ea1c0b09b6fd8c1673002002ffb583c6dc7 100644 GIT binary patch delta 920 zcmZuvUr1AN80FqIy?53WygEh5E1E1Yan7M>8a@!2p5(7LL()7~ljXt4E6uL#X-c-aFUN4qOtVgckwk{Q(f(4@2)>FwbSQ1fVFThHw z8sVxYS->DShb1Lx3o34_W&gl&4a>3}9eiaqUkG1ghzxLM8dS>}{Nz#&Z>f6qeSBLx z$=5w#5XsHNx=_u;>xq^h(_`9PjZfwZWLQk7vz#LLEDWtn7&XLa8YM{wenH49@E zDOjy**CsSZS%W;QV+T|wL*$zEBL%O`fLU7~O!iWgT6xUbOUS0(NM~&K+`R`m=J-Wr zo)^8MAo&A(xS|V1)PdU*Ut>Lmm5W_O-;__m+T4wo&1N|Yk#x3fBk1wt%D84KT@|#WCm!2F_ WfV6#=RaBMB{@P_IVGt@n;W@`nK(5}brdS}fFhIm*Jn-sE5$K6Pn>;o11}Sk zRAw4P2B@|;Ix|*5(N-ZZGe@DCi*s@VzY!B>?dA>qGAv?wspT3F6E!utI5|1f(iE(0 z6*fN*KFh?YHF>RA45QX&PVsII38=jwHJoLMMG85Y#U%>Sv09V;l5M$>Oqr~h7&ZBA zvc_c3ionf>6!xeCjj8jnoxID#63F`OVG1NQJZ&~7dvY?dXc+1!Os?|oWYI7NG6a2s zSTsy@6gC(7++dUjdmt#aASW|95#0ywe#Ts!wO|BPHhE&W#N-)%5i(#c!Kpc^$tC$1 zzJBLt0`&Fdz$s#C5DyoF0)rDzI63%(!>PdElt~=qL#Sg=0%}*_dqxS6B+ObA+5N#f zj5vaL@&n=4$t|I$fx+P)mH`aq?P1D{K+di3Y#`|x;Q=IjBT|7Rr?~WH-pFn2l3Gv) zV8+3%1UnvN7j9Ne6lRptg1HG(gHMt@FN&+d(e^&clcadw{5JW4$mBB>ra;UwnWIu_ z^1&?O$tIO%n=>n&fUygV)Xh7qqnTvEf$UgPQk0ogT9S$$n?iM_p!Dck*UroWa@6F5 z8N%GisqszYLME`$^IPJ8wCHBRRz?o6fJ(0bn0D(mhilzDvG)nn+HLQ>_wyP!9?N*90 zQcqSC6*n?|Kx{y%2Zb~U?<8u~isa-)kL}TmT2LXhXl6ZNS`Om!Ho0q=szJJX< z`y8?B_zxeGNw#e2|UUdjxWtHnp)q63fd1$lDdHotu8V3`LHMS494jh;lZZ4=M)qoYDk zNN8cZ($I@!UG1akd64W3TbqZY4(eNgw$kCJs|(O&S1^&Jk9j!Gx}U(09c=eYXvM}2 zai=W~D}&mU@eiDR1NG+WVJ8V6Fh@6+;9~7epd6ve2sWES;RLfn&tT`6J}C!|jGR_w zBivuiA^(A;{;!7>rN#ci|uD-CQQii=2RzhN`^Vi;yh4BtBI?PO`C{CPX@_!&KwM0UG?8dB3b?xE~Y y>$8>3oR^(j$28}!o=}Ah7V#KImyt`dB61D2)ZpR-+Uw#D*8SgEmVI||!Ja>ZrtN1c_wdVYQ5QYR1 zB?OzCK0sC!>!L_U^h7r~ON)lkO>|Q*x{3&qWRwQcyJsM4T|Hli-}5{FbNiZY=DIEM z6lPQOBn3w)T|^5NQ_w&cFGHi)I}Ia9br--a9uXYDMm@yGTf6jdT#F6+^#I@L<`F&2 zFR2QBy#)uUYX|zNa0TjV`8U3$?{i=izB@39bT*c> ziT3}18nM`mUfd(qWIa5Ih#fx*spjL1f z<@&J4Fjf2Ubxl**pcJ@LDJubVGH;~$a}DdHvPcB*4cT4YT5w2<4IGchWBTAoTob+` zek|(?_b=3uOLLDlwpmiu0NvlfwzBh=4a_oLa<0byqo4hQUIs2=$R-T;1hVZG<9JhL T+*qEg?1b$5KZY=df3^KD&E4^6 diff --git a/object/grpc/types_frostfs.pb.go b/object/grpc/types_frostfs.pb.go index 04a3e294d707b217ab6bdde6456e730adc2b4600..4233417014dedca64b57500966899549599b9717 100644 GIT binary patch delta 691 zcmca~g?aa7<_&^olYLjPPnI;(0@L1RI+H8RtR`n;fyqk5*_c8H> z<|SvOCTFLnXqf6KsBL~{$vJYA}5HMuxB zIn&YXmWoLrD9viXjO2d6BG4v=!rvcw{VoXp}9h3MGH&Ot7M zC@QLJxi}{?mMCoA9c0fq`FF6zWRno{$vHs0Vg>KyjUk3WT6pre5Y@>tq4twwLQOVL z40U5ha<~P^;kP5Ym?wWq7MeUKMt$<8wc(Tfb=fByq_J$)jQz91vtKfGhxuZD0UeO@8#U003j^ B|AYVl delta 726 zcmdmenfcNc<_&^olP?DgO;$2fnCxg~GP%UedUDhXuE{&h6d1K8-!OCBEMb0ziABRy zM`80POMYhQ%ru1xJ?D(foRp%}yy(nW1w~thyv!VhYA(*n|80z!IBPc>*zRJREEFKb zt;xm7$(fd>U}dYYnbpOdWiq3i_T)4V$H@w*qMLVncyLY%WSe~9HZONsVv#~lW^su^ zbnIltUBZ)%f{Z3h>=K{+b!q74vq9{PKqp#G<_@u#+!$wXC&sax zKPR=z)nQ4*RAO7pVOowWCXAuLP{F0pO)e%Q+>0}2IKXV1K} z{CMXKpdOU){PbumFtCQr4Oyi^IkX$Vi*Vt(#f7LivV1# B0)zkn diff --git a/object/lock.go b/object/lock.go index 62ba4a9..585fd09 100644 --- a/object/lock.go +++ b/object/lock.go @@ -89,13 +89,13 @@ func (x *Lock) ToGRPCMessage() grpc.Message { if x != nil { m = new(lock.Lock) - var members []*refsGRPC.ObjectID + var members []refsGRPC.ObjectID if x.members != nil { - members = make([]*refsGRPC.ObjectID, len(x.members)) + members = make([]refsGRPC.ObjectID, len(x.members)) for i := range x.members { - members[i] = x.members[i].ToGRPCMessage().(*refsGRPC.ObjectID) + members[i] = *x.members[i].ToGRPCMessage().(*refsGRPC.ObjectID) } } @@ -119,7 +119,7 @@ func (x *Lock) FromGRPCMessage(m grpc.Message) error { var err error for i := range x.members { - err = x.members[i].FromGRPCMessage(members[i]) + err = x.members[i].FromGRPCMessage(&members[i]) if err != nil { return err } diff --git a/refs/convert.go b/refs/convert.go index 6f06783..da31cdb 100644 --- a/refs/convert.go +++ b/refs/convert.go @@ -52,28 +52,26 @@ func (c *ContainerID) FromGRPCMessage(m grpc.Message) error { return nil } -func ContainerIDsToGRPCMessage(ids []ContainerID) (res []*refs.ContainerID) { +func ContainerIDsToGRPCMessage(ids []ContainerID) (res []refs.ContainerID) { if ids != nil { - res = make([]*refs.ContainerID, 0, len(ids)) + res = make([]refs.ContainerID, 0, len(ids)) for i := range ids { - res = append(res, ids[i].ToGRPCMessage().(*refs.ContainerID)) + res = append(res, *ids[i].ToGRPCMessage().(*refs.ContainerID)) } } return } -func ContainerIDsFromGRPCMessage(idsV2 []*refs.ContainerID) (res []ContainerID, err error) { +func ContainerIDsFromGRPCMessage(idsV2 []refs.ContainerID) (res []ContainerID, err error) { if idsV2 != nil { res = make([]ContainerID, len(idsV2)) for i := range idsV2 { - if idsV2[i] != nil { - err = res[i].FromGRPCMessage(idsV2[i]) - if err != nil { - return - } + err = res[i].FromGRPCMessage(&idsV2[i]) + if err != nil { + return } } } @@ -104,28 +102,26 @@ 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)) + res = make([]refs.ObjectID, 0, len(ids)) for i := range ids { - res = append(res, ids[i].ToGRPCMessage().(*refs.ObjectID)) + res = append(res, *ids[i].ToGRPCMessage().(*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, len(idsV2)) for i := range idsV2 { - if idsV2[i] != nil { - err = res[i].FromGRPCMessage(idsV2[i]) - if err != nil { - return - } + err = res[i].FromGRPCMessage(&idsV2[i]) + if err != nil { + return } } } diff --git a/session/convert.go b/session/convert.go index b7f334e..d0e83fa 100644 --- a/session/convert.go +++ b/session/convert.go @@ -207,28 +207,26 @@ func (x *XHeader) FromGRPCMessage(m grpc.Message) error { return nil } -func XHeadersToGRPC(xs []XHeader) (res []*session.XHeader) { +func XHeadersToGRPC(xs []XHeader) (res []session.XHeader) { if xs != nil { - res = make([]*session.XHeader, 0, len(xs)) + res = make([]session.XHeader, 0, len(xs)) for i := range xs { - res = append(res, xs[i].ToGRPCMessage().(*session.XHeader)) + res = append(res, *xs[i].ToGRPCMessage().(*session.XHeader)) } } return } -func XHeadersFromGRPC(xs []*session.XHeader) (res []XHeader, err error) { +func XHeadersFromGRPC(xs []session.XHeader) (res []XHeader, err error) { if xs != nil { res = make([]XHeader, len(xs)) for i := range xs { - if xs[i] != nil { - err = res[i].FromGRPCMessage(xs[i]) - if err != nil { - return - } + err = res[i].FromGRPCMessage(&xs[i]) + if err != nil { + return } } } diff --git a/session/grpc/types_frostfs.pb.go b/session/grpc/types_frostfs.pb.go index 4f8bf81784ac75c9e3a8df4f9d590d10b9a1f083..41ff5d9d96e3182849e9fae0e6bf65400fb9f01c 100644 GIT binary patch delta 472 zcmccH#PY9^Wdk!OUwTnNvYvlZR%&vIr;Ea7LC#7hzR3X^-zS!`yM+Fd?*-4>P24<-gMBRR?hn|19?67nSw>VTi zhJzH&*>S_of;%OB^MQ?TnK+;l3Y)iX`Gp)vAool*nQFE9?e-ofkeen4&vcypZwBvX z$=&%ZINUaW|2-C<+p;G+EY+AScSLA1#{>S!8-B1&?%u&Qx%G(b=7gimIY@Em=ALsG FjQ|Pnt2O`t delta 498 zcmey@$a1%dWdk!OpH_NNL9(8IQdVkmiKokELC#91$^T^7HqYV~VUo&BQ>cK-6-Q^r zDk$12HZDwh(Gofp40Pw_${CTY;vgHK%1~VPeC}2@ zpd;oi$pVrSj%ZAtaG!N@!xH|@PD>-WfkJD~iUY}w8|?UyO@O;DeRJc+w@g44b0?~7 zp1kEQ6WD2!<)>P0-m$%hi3sOSj=knQ`NRy~&4+j8v*2{5`~G_@KwIW4@tiDhNN94y V5dmO8PB 0 { - ds = make([]*status.Status_Detail, 0, ln) + ds = make([]status.Status_Detail, 0, ln) for i := 0; i < ln; i++ { - ds = append(ds, x.details[i].ToGRPCMessage().(*status.Status_Detail)) + ds = append(ds, *x.details[i].ToGRPCMessage().(*status.Status_Detail)) } } @@ -81,10 +81,8 @@ func (x *Status) FromGRPCMessage(m grpc.Message) error { ds = make([]Detail, ln) for i := 0; i < ln; i++ { - if dsV2[i] != nil { - if err := ds[i].FromGRPCMessage(dsV2[i]); err != nil { - return err - } + if err := ds[i].FromGRPCMessage(&dsV2[i]); err != nil { + return err } } } diff --git a/status/grpc/types_frostfs.pb.go b/status/grpc/types_frostfs.pb.go index 5012491adcedc907049514fcd8964edba752bbd0..29dfebe5dda407cfb016966549880c0d4b0d18a8 100644 GIT binary patch delta 119 zcmbQ3`95QVt@30$W%bEv$}*dqmCcy=Li3U{Qj@b&Q#6cq6x25FRpn=z{6gJevy28e zvvhDtVo7Onyi00HVrEWtttJ;ICudrkf|V^$rHl4?#>pbO$(t*5ud_}LFqWO1XY9g{ KrepFEH7brd!qQRQcn%1l$J&~r&GNzBYCj?Ro# zP_$LZ%gj-z=Hi@uQQe4%vvxD11~0R0UTV2Ua7kiGX>mM6v8E;$CnslGnu3+B!e&kF y^NfsIlYi(W11*Twz0NAHg`yawl(Q_cNFgV)xI`g3R%^1qv5OF4+QCnslGnu3+B o!sZ=Z+)RvGlMnNx0WHwv6=nl+Y=mWjWTdc*5T@SAYlP1N06w!U0{{R3 diff --git a/util/proto/marshal_test.go b/util/proto/marshal_test.go index a848bb5..1cd7005 100644 --- a/util/proto/marshal_test.go +++ b/util/proto/marshal_test.go @@ -133,10 +133,10 @@ func randIntSlice[T protoInt](n int, includeZero bool) []T { return r } -func uint32SliceToAux(s []uint32) []*generated.RepPrimitives_Aux { - r := make([]*generated.RepPrimitives_Aux, len(s)) +func uint32SliceToAux(s []uint32) []generated.RepPrimitives_Aux { + r := make([]generated.RepPrimitives_Aux, len(s)) for i := range s { - r[i] = &generated.RepPrimitives_Aux{s[i]} + r[i] = generated.RepPrimitives_Aux{InnerField: s[i]} } return r } diff --git a/util/proto/test/custom/test_frostfs.pb.go b/util/proto/test/custom/test_frostfs.pb.go index f3b958fd5a784a55017c89cdd83c9c8fc5be3b93..97efa51ca879f5056c282a7c453a8e2d0b796454 100644 GIT binary patch delta 189 zcmaF%nsMK2#tkw4lVkn$Ci@ETOrGJd1g4Ke>AOHNrU0?Ye+48a8v<#Nnvej9n&tq( z%~Jy|G4qAyC1<22XQ!rUSm-FIZO#sfXP*2#+;H+`j_}D7QursIw&dL09r1uwJ}9*y zpeQppvm~=DwK(3fw4%CJlZ%s+Gc8TQ$`+`zCr*=f^0wrH&FU!y0+VNyC{Es0;vtMh J*JO#(a{#q_MkxRQ delta 229 zcmdn@n(^6d#tkw4lYImvCztq(0cqaJ)BKgd^bsh1SAb{oKcHNLAn#;_0EnC)l&%R7 zWYpT+8*qu4MZ-czVRLRsJhOCWnnH!1TV`rbieqU-bY`rAqOC$+W{yHN7w6