github.com/decred/dcrlnd@v0.7.6/channeldb/migration_01_to_11/options.go (about)

     1  package migration_01_to_11
     2  
     3  import "time"
     4  
     5  const (
     6  	// DefaultRejectCacheSize is the default number of rejectCacheEntries to
     7  	// cache for use in the rejection cache of incoming gossip traffic. This
     8  	// produces a cache size of around 1MB.
     9  	DefaultRejectCacheSize = 50000
    10  
    11  	// DefaultChannelCacheSize is the default number of ChannelEdges cached
    12  	// in order to reply to gossip queries. This produces a cache size of
    13  	// around 40MB.
    14  	DefaultChannelCacheSize = 20000
    15  
    16  	// DefaultDBTimeout specifies the default timeout value when opening
    17  	// the bbolt database.
    18  	DefaultDBTimeout = time.Second * 60
    19  )
    20  
    21  // Options holds parameters for tuning and customizing a channeldb.DB.
    22  type Options struct {
    23  	// RejectCacheSize is the maximum number of rejectCacheEntries to hold
    24  	// in the rejection cache.
    25  	RejectCacheSize int
    26  
    27  	// ChannelCacheSize is the maximum number of ChannelEdges to hold in the
    28  	// channel cache.
    29  	ChannelCacheSize int
    30  
    31  	// NoFreelistSync, if true, prevents the database from syncing its
    32  	// freelist to disk, resulting in improved performance at the expense of
    33  	// increased startup time.
    34  	NoFreelistSync bool
    35  
    36  	// DBTimeout specifies the timeout value to use when opening the wallet
    37  	// database.
    38  	DBTimeout time.Duration
    39  }
    40  
    41  // DefaultOptions returns an Options populated with default values.
    42  func DefaultOptions() Options {
    43  	return Options{
    44  		RejectCacheSize:  DefaultRejectCacheSize,
    45  		ChannelCacheSize: DefaultChannelCacheSize,
    46  		NoFreelistSync:   true,
    47  		DBTimeout:        DefaultDBTimeout,
    48  	}
    49  }
    50  
    51  // OptionModifier is a function signature for modifying the default Options.
    52  type OptionModifier func(*Options)