-
Notifications
You must be signed in to change notification settings - Fork 3
/
store.go
32 lines (25 loc) · 730 Bytes
/
store.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package lru
import (
"errors"
)
// Store is an interface representing a remote data store.
type Store interface {
Get([]byte) ([]byte, error) // retrieve the value with the provided key
Open() error // open the store
Close() error // close the store
}
// errNoStore is the error returned by a "noStore" store if the Get method is
// called on it.
var errNoStore = errors.New("no remote store available")
// noStore conforms to the Store interface and returns an error upon any Get
// evocation.
type noStore struct{}
func (s *noStore) Get(key []byte) ([]byte, error) {
return nil, errNoStore
}
func (s *noStore) Open() error {
return nil
}
func (s *noStore) Close() error {
return nil
}