package shard import ( "fmt" cid "github.com/nspcc-dev/neofs-sdk-go/container/id" ) type ContainerSizePrm struct { cnr cid.ID } type ContainerSizeRes struct { size uint64 } func (p *ContainerSizePrm) WithContainerID(cnr cid.ID) *ContainerSizePrm { if p != nil { p.cnr = cnr } return p } func (r *ContainerSizeRes) Size() uint64 { return r.size } func (s *Shard) ContainerSize(prm *ContainerSizePrm) (*ContainerSizeRes, error) { size, err := s.metaBase.ContainerSize(prm.cnr) if err != nil { return nil, fmt.Errorf("could not get container size: %w", err) } return &ContainerSizeRes{ size: size, }, nil } func ContainerSize(s *Shard, cnr cid.ID) (uint64, error) { res, err := s.ContainerSize(&ContainerSizePrm{cnr: cnr}) if err != nil { return 0, err } return res.Size(), nil }