[#355] subnet: Implement types for the new messages

Define `subnet.Info` structure of corresponding message from NeoFS API
protocol. Provide field getters and setters. Implement
`StableMarshal` / `StableSize` methods of binary encoding. Implement
`ToGRPCMessage` / `FromGRPCMessage` method for testing and
potential transport.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2021-11-18 16:32:09 +03:00 committed by LeL
parent b0a2b73650
commit 580f6c5554
9 changed files with 279 additions and 0 deletions

17
subnet/test/generate.go Normal file
View file

@ -0,0 +1,17 @@
package subnettest
import (
refstest "github.com/nspcc-dev/neofs-api-go/v2/refs/test"
"github.com/nspcc-dev/neofs-api-go/v2/subnet"
)
func GenerateSubnetInfo(empty bool) *subnet.Info {
m := new(subnet.Info)
if !empty {
m.SetID(refstest.GenerateSubnetID(false))
m.SetOwner(refstest.GenerateOwnerID(false))
}
return m
}