summaryrefslogtreecommitdiff
path: root/src/cache.go
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2015-01-12 03:01:24 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2015-01-12 03:18:40 +0900
commit7a2bc2cada971c7a390d09b0afda34780ff56fb6 (patch)
treecaa19fa8bf404a854c9e2cdf6eb08194e1733a6f /src/cache.go
parent9dbf6b02d24b52ae43e36905bbb1e83087e1dfe9 (diff)
downloadfzf-7a2bc2cada971c7a390d09b0afda34780ff56fb6.tar.gz
Lint
Diffstat (limited to 'src/cache.go')
-rw-r--r--src/cache.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cache.go b/src/cache.go
index 340f3258..f2f84a0a 100644
--- a/src/cache.go
+++ b/src/cache.go
@@ -2,16 +2,21 @@ package fzf
import "sync"
+// QueryCache associates strings to lists of items
type QueryCache map[string][]*Item
+
+// ChunkCache associates Chunk and query string to lists of items
type ChunkCache struct {
mutex sync.Mutex
cache map[*Chunk]*QueryCache
}
+// NewChunkCache returns a new ChunkCache
func NewChunkCache() ChunkCache {
return ChunkCache{sync.Mutex{}, make(map[*Chunk]*QueryCache)}
}
+// Add adds the list to the cache
func (cc *ChunkCache) Add(chunk *Chunk, key string, list []*Item) {
if len(key) == 0 || !chunk.IsFull() {
return
@@ -28,6 +33,7 @@ func (cc *ChunkCache) Add(chunk *Chunk, key string, list []*Item) {
(*qc)[key] = list
}
+// Find is called to lookup ChunkCache
func (cc *ChunkCache) Find(chunk *Chunk, key string) ([]*Item, bool) {
if len(key) == 0 || !chunk.IsFull() {
return nil, false