package storagegroup import ( "context" "github.com/nspcc-dev/neofs-proto/refs" ) type ( // Store is a interface for storing users storage group Store interface { Lister Receiver Receptacle } // Lister defines list function that returns all storage groups // created for the passed container Lister interface { List(ctx context.Context, cid refs.CID) ([]refs.SGID, error) } // Receiver defines get function that returns asked storage group Receiver interface { Get(ctx context.Context, cid refs.CID, sgid refs.SGID) (Provider, error) } // Receptacle defines put function that places storage group in the // store. Receptacle interface { Put(ctx context.Context, sg Provider) error } // InfoReceiver defines GetSGInfo function that returns storage group // that contains passed object ids. InfoReceiver interface { GetSGInfo(ctx context.Context, cid refs.CID, group []refs.ObjectID) (*StorageGroup, error) } )