Documentation ¶
Overview ¶
Package suffixed implements a blob.Store interface that delegates to another Store, with keys namespaced by a fixed suffix concatenated with each key.
Index ¶
- type CAS
- type Store
- func (s Store) Base() blob.Store
- func (s Store) Close(ctx context.Context) error
- func (s Store) Delete(ctx context.Context, key string) error
- func (s Store) Derive(suffix string) Store
- func (s Store) Get(ctx context.Context, key string) ([]byte, error)
- func (s Store) Len(ctx context.Context) (int64, error)
- func (s Store) List(ctx context.Context, start string, f func(string) error) error
- func (s Store) Put(ctx context.Context, opts blob.PutOptions) error
- func (s Store) Suffix() string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CAS ¶
type CAS struct { Store // contains filtered or unexported fields }
CAS implements a suffixed wrapper around a blob.CAS instance.
func NewCAS ¶
NewCAS creates a new suffixed Store associated with the specified cas. Suffixes do not nest: If cas is already a suffixed.CAS, it is returned as-is.
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store implements the blob.Store interface by delegating to an underlying store, but with each key suffixed by a fixed non-empty string. This allows multiple consumers to share non-overlapping namespaces within a single storage backend.
func New ¶
New creates a Store associated with the specified s. The initial store is exactly equivalent to the underlying store; use Derive to create clones that use a different suffix.
Suffixes do not nest: If s is already a suffixed.Store, it is returned as-is.
func (Store) Close ¶
Close implements the optional blob.Closer interface. It delegates to the underlying store if possible.
func (Store) Derive ¶
Derive creates a clone of s that delegates to the same underlying store, but using a different suffix. If suffix == "", Derive returns a store that is equivalent to the underlying base store.
func (Store) Len ¶
Len implements part of blob.Store by delegation. It reports only the number of keys matching the current suffix.
func (Store) List ¶
List implements part of blob.Store by delegation. It filters the underlying list results to include only keys suffixed for this store.