lnd+routerrpc: configure server with new estimator

We add new lnd.conf configuration options for both probability
estimators. Note that this is a breaking change for the existing apriori
parameters.
This commit is contained in:
bitromortac committed 2023-02-14 13:34:25 +01:00
1 parent 16986ee5c7
commit 58d5131e31
5 files changed
+160 -58

No files matched your search

+36 -9
View File
@@ -873,15 +873,42 @@ func newServer(cfg *Config, listenAddrs []net.Addr,
if cfg.Estimator != nil {
estimator = cfg.Estimator
} else {
aCfg := routing.AprioriConfig{
AprioriHopProbability: routingConfig.
AprioriHopProbability,
PenaltyHalfLife: routingConfig.PenaltyHalfLife,
AprioriWeight: routingConfig.AprioriWeight,
}
estimator, err = routing.NewAprioriEstimator(aCfg)
if err != nil {
return nil, err
switch routingConfig.ProbabilityEstimatorType {
case routing.AprioriEstimatorName:
aCfg := routingConfig.AprioriConfig
aprioriConfig := routing.AprioriConfig{
AprioriHopProbability: aCfg.HopProbability,
PenaltyHalfLife: aCfg.PenaltyHalfLife,
AprioriWeight: aCfg.Weight,
}
estimator, err = routing.NewAprioriEstimator(
aprioriConfig,
)
if err != nil {
return nil, err
}
case routing.BimodalEstimatorName:
bCfg := routingConfig.BimodalConfig
bimodalConfig := routing.BimodalConfig{
BimodalNodeWeight: bCfg.NodeWeight,
BimodalScaleMsat: lnwire.MilliSatoshi(
bCfg.Scale,
),
BimodalDecayTime: bCfg.DecayTime,
}
estimator, err = routing.NewBimodalEstimator(
bimodalConfig,
)
if err != nil {
return nil, err
}
default:
return nil, fmt.Errorf("unknown estimator type %v",
routingConfig.ProbabilityEstimatorType)
}
}