func (f *FeedIndex) dump(db *store.Store) error { f.Lock() defer f.Unlock() var buf bytes.Buffer enc := gob.NewEncoder(&buf) err := enc.Encode(f.bufq) if err != nil { return err } return db.Put(f.Key().Bytes(), buf.Bytes()) }
func (f *FeedIndex) load(db *store.Store) error { f.Lock() defer f.Unlock() key := f.Key() rawdata, err := db.Get(key.Bytes()) if err != nil { return err } if len(rawdata) == 0 { return nil } buf := bytes.NewBuffer(rawdata) dec := gob.NewDecoder(buf) err = dec.Decode(&f.bufq) if err != nil { return err } return nil }