storage.go 812 B

1234567891011121314151617181920212223
  1. package storage
  2. import (
  3. "context"
  4. )
  5. type ScopedPersistentStorage interface {
  6. ScopedPersistentStorageEngine()
  7. Put(ctx context.Context, key []byte, value []byte) error
  8. Get(ctx context.Context, key []byte) ([]byte, error)
  9. List(ctx context.Context, keyPrefix []byte) ([][]byte, error)
  10. ClearIfCharacteristicMismatch(ctx context.Context, characteristic []byte) error
  11. NarrowScope(ctx context.Context, key []byte) (ScopedPersistentStorage, error)
  12. }
  13. type ScopedTransientStorage interface {
  14. ScopedTransientStorage()
  15. Put(ctx context.Context, key []byte, value interface{}) error
  16. Get(ctx context.Context, key []byte) (interface{}, error)
  17. List(ctx context.Context, keyPrefix []byte) ([][]byte, error)
  18. Clear(ctx context.Context)
  19. NarrowScope(ctx context.Context, key []byte) (ScopedPersistentStorage, error)
  20. }