Refactor Restore()
This commit refactors out the complexity of downloading ordered WAL files in parallel to a type called `WALDownloader`. This makes it easier to test the restore separately from the download.
This commit is contained in:
28
mock/wal_segment_iterator.go
Normal file
28
mock/wal_segment_iterator.go
Normal file
@@ -0,0 +1,28 @@
|
||||
package mock
|
||||
|
||||
import (
|
||||
"github.com/benbjohnson/litestream"
|
||||
)
|
||||
|
||||
type WALSegmentIterator struct {
|
||||
CloseFunc func() error
|
||||
NextFunc func() bool
|
||||
ErrFunc func() error
|
||||
WALSegmentFunc func() litestream.WALSegmentInfo
|
||||
}
|
||||
|
||||
func (itr *WALSegmentIterator) Close() error {
|
||||
return itr.CloseFunc()
|
||||
}
|
||||
|
||||
func (itr *WALSegmentIterator) Next() bool {
|
||||
return itr.NextFunc()
|
||||
}
|
||||
|
||||
func (itr *WALSegmentIterator) Err() error {
|
||||
return itr.ErrFunc()
|
||||
}
|
||||
|
||||
func (itr *WALSegmentIterator) WALSegment() litestream.WALSegmentInfo {
|
||||
return itr.WALSegmentFunc()
|
||||
}
|
||||
Reference in New Issue
Block a user