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