// unmarshal deserializes from a protobuf representation. func (si *ShardInfo) unmarshal(pb *internal.ShardInfo) { si.ID = pb.GetID() si.OwnerIDs = make([]uint64, len(pb.GetOwnerIDs())) copy(si.OwnerIDs, pb.GetOwnerIDs()) }
// unmarshal deserializes from a protobuf representation. func (si *ShardInfo) unmarshal(pb *internal.ShardInfo) { si.ID = pb.GetID() // If deprecated "OwnerIDs" exists then convert it to "Owners" format. if len(pb.GetOwnerIDs()) > 0 { si.Owners = make([]ShardOwner, len(pb.GetOwnerIDs())) for i, x := range pb.GetOwnerIDs() { si.Owners[i].unmarshal(&internal.ShardOwner{ NodeID: proto.Uint64(x), }) } } else if len(pb.GetOwners()) > 0 { si.Owners = make([]ShardOwner, len(pb.GetOwners())) for i, x := range pb.GetOwners() { si.Owners[i].unmarshal(x) } } }