channeldb: add freelist sync option modifier

This commit is contained in:
Wilmer Paulino committed 2019-10-04 12:19:41 -04:00
1 parent 194a9dea81
commit fa96450db8
2 files changed
+14 -1

No files matched your search

+13
View File
@@ -21,6 +21,11 @@ type Options struct {
// ChannelCacheSize is the maximum number of ChannelEdges to hold in the
// channel cache.
ChannelCacheSize int
// NoFreelistSync, if true, prevents the database from syncing its
// freelist to disk, resulting in improved performance at the expense of
// increased startup time.
NoFreelistSync bool
}
// DefaultOptions returns an Options populated with default values.
@@ -28,6 +33,7 @@ func DefaultOptions() Options {
return Options{
RejectCacheSize: DefaultRejectCacheSize,
ChannelCacheSize: DefaultChannelCacheSize,
NoFreelistSync: true,
}
}
@@ -47,3 +53,10 @@ func OptionSetChannelCacheSize(n int) OptionModifier {
o.ChannelCacheSize = n
}
}
// OptionSetSyncFreelist allows the database to sync its freelist.
func OptionSetSyncFreelist(b bool) OptionModifier {
return func(o *Options) {
o.NoFreelistSync = !b
}
}