MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / restore

Function restore

main.go:162–189  ·  view source on GitHub ↗
(rd io.Reader)

Source from the content-addressed store, hash-verified

160}
161
162func restore(rd io.Reader) (interface{}, error) {
163 sr := sds.NewReader(rd)
164 var batch leveldb.Batch
165 for {
166 key, err := sr.ReadBytes()
167 if err != nil {
168 if err == io.EOF {
169 break
170 }
171 return nil, err
172 }
173 value, err := sr.ReadBytes()
174 if err != nil {
175 return nil, err
176 }
177 batch.Put(key, value)
178 if batch.Len() == 1000 {
179 if err := db.Write(&batch, nil); err != nil {
180 return nil, err
181 }
182 batch.Reset()
183 }
184 }
185 if err := db.Write(&batch, nil); err != nil {
186 return nil, err
187 }
188 return nil, nil
189}
190
191func connOpened(addr string) (context interface{}, accept bool) {
192 atomic.AddInt64(&respClientNum, 1)

Callers

nothing calls this directly

Calls 3

PutMethod · 0.45
LenMethod · 0.45
ResetMethod · 0.45

Tested by

no test coverage detected