| 134 | func (s *snap) Done(path string) {} |
| 135 | |
| 136 | func (s *snap) Persist(wr io.Writer) error { |
| 137 | sw := sds.NewWriter(wr) |
| 138 | iter := s.s.NewIterator(nil, nil) |
| 139 | for ok := iter.First(); ok; ok = iter.Next() { |
| 140 | if err := sw.WriteBytes(iter.Key()); err != nil { |
| 141 | return err |
| 142 | } |
| 143 | if err := sw.WriteBytes(iter.Value()); err != nil { |
| 144 | return err |
| 145 | } |
| 146 | } |
| 147 | iter.Release() |
| 148 | if err := iter.Error(); err != nil { |
| 149 | return err |
| 150 | } |
| 151 | return sw.Flush() |
| 152 | } |
| 153 | |
| 154 | func snapshot(data interface{}) (rafthub.Snapshot, error) { |
| 155 | s, err := db.GetSnapshot() |