channeldb/options: add Options w/ functional modifiers
This commit is contained in:
parent
ae3a00a5da
commit
baa968b1ff
49
channeldb/options.go
Normal file
49
channeldb/options.go
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
package channeldb
|
||||||
|
|
||||||
|
const (
|
||||||
|
// DefaultRejectCacheSize is the default number of rejectCacheEntries to
|
||||||
|
// cache for use in the rejection cache of incoming gossip traffic. This
|
||||||
|
// produces a cache size of around 1MB.
|
||||||
|
DefaultRejectCacheSize = 50000
|
||||||
|
|
||||||
|
// DefaultChannelCacheSize is the default number of ChannelEdges cached
|
||||||
|
// in order to reply to gossip queries. This produces a cache size of
|
||||||
|
// around 40MB.
|
||||||
|
DefaultChannelCacheSize = 20000
|
||||||
|
)
|
||||||
|
|
||||||
|
// Options holds parameters for tuning and customizing a channeldb.DB.
|
||||||
|
type Options struct {
|
||||||
|
// RejectCacheSize is the maximum number of rejectCacheEntries to hold
|
||||||
|
// in the rejection cache.
|
||||||
|
RejectCacheSize int
|
||||||
|
|
||||||
|
// ChannelCacheSize is the maximum number of ChannelEdges to hold in the
|
||||||
|
// channel cache.
|
||||||
|
ChannelCacheSize int
|
||||||
|
}
|
||||||
|
|
||||||
|
// DefaultOptions returns an Options populated with default values.
|
||||||
|
func DefaultOptions() Options {
|
||||||
|
return Options{
|
||||||
|
RejectCacheSize: DefaultRejectCacheSize,
|
||||||
|
ChannelCacheSize: DefaultChannelCacheSize,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// OptionModifier is a function signature for modifying the default Options.
|
||||||
|
type OptionModifier func(*Options)
|
||||||
|
|
||||||
|
// OptionSetRejectCacheSize sets the RejectCacheSize to n.
|
||||||
|
func OptionSetRejectCacheSize(n int) OptionModifier {
|
||||||
|
return func(o *Options) {
|
||||||
|
o.RejectCacheSize = n
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// OptionSetChannelCacheSize sets the ChannelCacheSize to n.
|
||||||
|
func OptionSetChannelCacheSize(n int) OptionModifier {
|
||||||
|
return func(o *Options) {
|
||||||
|
o.ChannelCacheSize = n
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user