MCPcopy
hub / github.com/perkeep/perkeep / Set

Method Set

pkg/sorted/buffer/buffer.go:103–121  ·  view source on GitHub ↗
(key, value string)

Source from the content-addressed store, hash-verified

101}
102
103func (kv *KeyValue) Set(key, value string) error {
104 if err := sorted.CheckSizes(key, value); err != nil {
105 log.Printf("Skipping storing (%q:%q): %v", key, value, err)
106 return nil
107 }
108 kv.mu.RLock()
109 err := kv.buf.Set(key, value)
110 kv.mu.RUnlock()
111 if err == nil {
112 kv.bufMu.Lock()
113 kv.buffered += int64(len(key) + len(value))
114 doFlush := kv.buffered > kv.maxBuffer
115 kv.bufMu.Unlock()
116 if doFlush {
117 err = kv.Flush()
118 }
119 }
120 return err
121}
122
123func (kv *KeyValue) Delete(key string) error {
124 kv.mu.RLock()

Callers

nothing calls this directly

Implementers 6

memKeyspkg/sorted/mem.go
kvispkg/sorted/kvfile/kvfile.go
keyValuepkg/sorted/mongo/mongokv.go
KeyValuepkg/sorted/buffer/buffer.go
KeyValuepkg/sorted/sqlkv/sqlkv.go
kvispkg/sorted/leveldb/leveldb.go

Calls 8

FlushMethod · 0.95
CheckSizesFunction · 0.92
PrintfMethod · 0.80
LockMethod · 0.80
UnlockMethod · 0.80
RLockMethod · 0.65
SetMethod · 0.65
RUnlockMethod · 0.65

Tested by

no test coverage detected