Files

64 lines
1.7 KiB
Go

// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
// See the file LICENSE for licensing terms.
package config
import "time"
// MainnetParameters contains mainnet consensus parameters
var MainnetParameters = struct {
K int
AlphaPreference int
AlphaConfidence int
Beta int
ConcurrentPolls int
OptimalProcessing int
MaxOutstandingItems int
MaxItemProcessingTime time.Duration
}{
K: 20,
AlphaPreference: 15,
AlphaConfidence: 15,
Beta: 20,
ConcurrentPolls: 4,
OptimalProcessing: 10,
MaxOutstandingItems: 1024,
MaxItemProcessingTime: 2 * time.Minute,
}
// RouterHealthConfig contains configuration for router health checks
type RouterHealthConfig struct {
MaxTimeSinceMsgReceived time.Duration
MaxTimeSinceMsgSent time.Duration
MaxPortionSendQueueFull float64
MinConnectedPeers uint
ReadTimeout time.Duration
WriteTimeout time.Duration
MaxSendFailRate float64
MaxDropRate float64
MaxOutstandingRequests int
MaxOutstandingDuration time.Duration
MaxRunTimeRequests time.Duration
MaxDropRateHalflife time.Duration
}
// BenchlistConfig contains configuration for benchlisting
type BenchlistConfig struct {
Deprecated bool
Duration time.Duration
MinFailingDuration time.Duration
Threshold int
MaxPortion float64
FailThreshold int
}
// PrismParameters contains prism protocol parameters
type PrismParameters struct {
NumParents int
NumNodes int
AlphaPreference int
AlphaConfidence int
K int
MaxOutstandingItems int
}