Beispiel #1
0
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())
}
Beispiel #2
0
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
}