Merge pull request #19818 from rjl493456442/encap-les
cmd: encapsulate les relative cli options
This commit is contained in:
commit
54d0eeb494
@ -93,10 +93,12 @@ var (
|
|||||||
utils.SyncModeFlag,
|
utils.SyncModeFlag,
|
||||||
utils.ExitWhenSyncedFlag,
|
utils.ExitWhenSyncedFlag,
|
||||||
utils.GCModeFlag,
|
utils.GCModeFlag,
|
||||||
utils.LightServFlag,
|
utils.LightServeFlag,
|
||||||
utils.LightBandwidthInFlag,
|
utils.LightLegacyServFlag,
|
||||||
utils.LightBandwidthOutFlag,
|
utils.LightIngressFlag,
|
||||||
utils.LightPeersFlag,
|
utils.LightEgressFlag,
|
||||||
|
utils.LightMaxPeersFlag,
|
||||||
|
utils.LightLegacyPeersFlag,
|
||||||
utils.LightKDFFlag,
|
utils.LightKDFFlag,
|
||||||
utils.UltraLightServersFlag,
|
utils.UltraLightServersFlag,
|
||||||
utils.UltraLightFractionFlag,
|
utils.UltraLightFractionFlag,
|
||||||
@ -336,7 +338,7 @@ func startNode(ctx *cli.Context, stack *node.Node) {
|
|||||||
|
|
||||||
// Set contract backend for ethereum service if local node
|
// Set contract backend for ethereum service if local node
|
||||||
// is serving LES requests.
|
// is serving LES requests.
|
||||||
if ctx.GlobalInt(utils.LightServFlag.Name) > 0 {
|
if ctx.GlobalInt(utils.LightLegacyServFlag.Name) > 0 || ctx.GlobalInt(utils.LightServeFlag.Name) > 0 {
|
||||||
var ethService *eth.Ethereum
|
var ethService *eth.Ethereum
|
||||||
if err := stack.Service(ðService); err != nil {
|
if err := stack.Service(ðService); err != nil {
|
||||||
utils.Fatalf("Failed to retrieve ethereum service: %v", err)
|
utils.Fatalf("Failed to retrieve ethereum service: %v", err)
|
||||||
|
@ -82,15 +82,20 @@ var AppHelpFlagGroups = []flagGroup{
|
|||||||
utils.GCModeFlag,
|
utils.GCModeFlag,
|
||||||
utils.EthStatsURLFlag,
|
utils.EthStatsURLFlag,
|
||||||
utils.IdentityFlag,
|
utils.IdentityFlag,
|
||||||
utils.LightServFlag,
|
utils.LightKDFFlag,
|
||||||
utils.LightBandwidthInFlag,
|
utils.WhitelistFlag,
|
||||||
utils.LightBandwidthOutFlag,
|
},
|
||||||
utils.LightPeersFlag,
|
},
|
||||||
|
{
|
||||||
|
Name: "LIGHT CLIENT",
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
utils.LightServeFlag,
|
||||||
|
utils.LightIngressFlag,
|
||||||
|
utils.LightEgressFlag,
|
||||||
|
utils.LightMaxPeersFlag,
|
||||||
utils.UltraLightServersFlag,
|
utils.UltraLightServersFlag,
|
||||||
utils.UltraLightFractionFlag,
|
utils.UltraLightFractionFlag,
|
||||||
utils.UltraLightOnlyAnnounceFlag,
|
utils.UltraLightOnlyAnnounceFlag,
|
||||||
utils.LightKDFFlag,
|
|
||||||
utils.WhitelistFlag,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -248,6 +253,8 @@ var AppHelpFlagGroups = []flagGroup{
|
|||||||
{
|
{
|
||||||
Name: "DEPRECATED",
|
Name: "DEPRECATED",
|
||||||
Flags: []cli.Flag{
|
Flags: []cli.Flag{
|
||||||
|
utils.LightLegacyServFlag,
|
||||||
|
utils.LightLegacyPeersFlag,
|
||||||
utils.MinerLegacyThreadsFlag,
|
utils.MinerLegacyThreadsFlag,
|
||||||
utils.MinerLegacyGasTargetFlag,
|
utils.MinerLegacyGasTargetFlag,
|
||||||
utils.MinerLegacyGasPriceFlag,
|
utils.MinerLegacyGasPriceFlag,
|
||||||
|
@ -174,20 +174,6 @@ var (
|
|||||||
Name: "exitwhensynced",
|
Name: "exitwhensynced",
|
||||||
Usage: "Exits after block synchronisation completes",
|
Usage: "Exits after block synchronisation completes",
|
||||||
}
|
}
|
||||||
UltraLightServersFlag = cli.StringFlag{
|
|
||||||
Name: "ulc.servers",
|
|
||||||
Usage: "List of trusted ultra-light servers",
|
|
||||||
Value: strings.Join(eth.DefaultConfig.UltraLightServers, ","),
|
|
||||||
}
|
|
||||||
UltraLightFractionFlag = cli.IntFlag{
|
|
||||||
Name: "ulc.fraction",
|
|
||||||
Usage: "Minimum % of trusted ultra-light servers required to announce a new head",
|
|
||||||
Value: eth.DefaultConfig.UltraLightFraction,
|
|
||||||
}
|
|
||||||
UltraLightOnlyAnnounceFlag = cli.BoolFlag{
|
|
||||||
Name: "ulc.onlyannounce",
|
|
||||||
Usage: "Ultra light server sends announcements only",
|
|
||||||
}
|
|
||||||
IterativeOutputFlag = cli.BoolFlag{
|
IterativeOutputFlag = cli.BoolFlag{
|
||||||
Name: "iterative",
|
Name: "iterative",
|
||||||
Usage: "Print streaming JSON iteratively, delimited by newlines",
|
Usage: "Print streaming JSON iteratively, delimited by newlines",
|
||||||
@ -215,26 +201,6 @@ var (
|
|||||||
Usage: `Blockchain garbage collection mode ("full", "archive")`,
|
Usage: `Blockchain garbage collection mode ("full", "archive")`,
|
||||||
Value: "full",
|
Value: "full",
|
||||||
}
|
}
|
||||||
LightServFlag = cli.IntFlag{
|
|
||||||
Name: "lightserv",
|
|
||||||
Usage: "Maximum percentage of time allowed for serving LES requests (multi-threaded processing allows values over 100)",
|
|
||||||
Value: 0,
|
|
||||||
}
|
|
||||||
LightBandwidthInFlag = cli.IntFlag{
|
|
||||||
Name: "lightbwin",
|
|
||||||
Usage: "Incoming bandwidth limit for light server (kilobytes/sec, 0 = unlimited)",
|
|
||||||
Value: 0,
|
|
||||||
}
|
|
||||||
LightBandwidthOutFlag = cli.IntFlag{
|
|
||||||
Name: "lightbwout",
|
|
||||||
Usage: "Outgoing bandwidth limit for light server (kilobytes/sec, 0 = unlimited)",
|
|
||||||
Value: 0,
|
|
||||||
}
|
|
||||||
LightPeersFlag = cli.IntFlag{
|
|
||||||
Name: "lightpeers",
|
|
||||||
Usage: "Maximum number of LES client peers",
|
|
||||||
Value: eth.DefaultConfig.LightPeers,
|
|
||||||
}
|
|
||||||
LightKDFFlag = cli.BoolFlag{
|
LightKDFFlag = cli.BoolFlag{
|
||||||
Name: "lightkdf",
|
Name: "lightkdf",
|
||||||
Usage: "Reduce key-derivation RAM & CPU usage at some expense of KDF strength",
|
Usage: "Reduce key-derivation RAM & CPU usage at some expense of KDF strength",
|
||||||
@ -243,6 +209,51 @@ var (
|
|||||||
Name: "whitelist",
|
Name: "whitelist",
|
||||||
Usage: "Comma separated block number-to-hash mappings to enforce (<number>=<hash>)",
|
Usage: "Comma separated block number-to-hash mappings to enforce (<number>=<hash>)",
|
||||||
}
|
}
|
||||||
|
// Light server and client settings
|
||||||
|
LightLegacyServFlag = cli.IntFlag{ // Deprecated in favor of light.serve, remove in 2021
|
||||||
|
Name: "lightserv",
|
||||||
|
Usage: "Maximum percentage of time allowed for serving LES requests (deprecated, use --light.serve)",
|
||||||
|
Value: eth.DefaultConfig.LightServ,
|
||||||
|
}
|
||||||
|
LightServeFlag = cli.IntFlag{
|
||||||
|
Name: "light.serve",
|
||||||
|
Usage: "Maximum percentage of time allowed for serving LES requests (multi-threaded processing allows values over 100)",
|
||||||
|
Value: eth.DefaultConfig.LightServ,
|
||||||
|
}
|
||||||
|
LightIngressFlag = cli.IntFlag{
|
||||||
|
Name: "light.ingress",
|
||||||
|
Usage: "Incoming bandwidth limit for serving light clients (kilobytes/sec, 0 = unlimited)",
|
||||||
|
Value: eth.DefaultConfig.LightIngress,
|
||||||
|
}
|
||||||
|
LightEgressFlag = cli.IntFlag{
|
||||||
|
Name: "light.egress",
|
||||||
|
Usage: "Outgoing bandwidth limit for serving light clients (kilobytes/sec, 0 = unlimited)",
|
||||||
|
Value: eth.DefaultConfig.LightEgress,
|
||||||
|
}
|
||||||
|
LightLegacyPeersFlag = cli.IntFlag{ // Deprecated in favor of light.maxpeers, remove in 2021
|
||||||
|
Name: "lightpeers",
|
||||||
|
Usage: "Maximum number of light clients to serve, or light servers to attach to (deprecated, use --light.maxpeers)",
|
||||||
|
Value: eth.DefaultConfig.LightPeers,
|
||||||
|
}
|
||||||
|
LightMaxPeersFlag = cli.IntFlag{
|
||||||
|
Name: "light.maxpeers",
|
||||||
|
Usage: "Maximum number of light clients to serve, or light servers to attach to",
|
||||||
|
Value: eth.DefaultConfig.LightPeers,
|
||||||
|
}
|
||||||
|
UltraLightServersFlag = cli.StringFlag{
|
||||||
|
Name: "ulc.servers",
|
||||||
|
Usage: "List of trusted ultra-light servers",
|
||||||
|
Value: strings.Join(eth.DefaultConfig.UltraLightServers, ","),
|
||||||
|
}
|
||||||
|
UltraLightFractionFlag = cli.IntFlag{
|
||||||
|
Name: "ulc.fraction",
|
||||||
|
Usage: "Minimum % of trusted ultra-light servers required to announce a new head",
|
||||||
|
Value: eth.DefaultConfig.UltraLightFraction,
|
||||||
|
}
|
||||||
|
UltraLightOnlyAnnounceFlag = cli.BoolFlag{
|
||||||
|
Name: "ulc.onlyannounce",
|
||||||
|
Usage: "Ultra light server sends announcements only",
|
||||||
|
}
|
||||||
// Dashboard settings
|
// Dashboard settings
|
||||||
DashboardEnabledFlag = cli.BoolFlag{
|
DashboardEnabledFlag = cli.BoolFlag{
|
||||||
Name: "dashboard",
|
Name: "dashboard",
|
||||||
@ -949,8 +960,26 @@ func setIPC(ctx *cli.Context, cfg *node.Config) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// setUltraLight configures the ultra light client settings from the command line flags.
|
// setLes configures the les server and ultra light client settings from the command line flags.
|
||||||
func setUltraLight(ctx *cli.Context, cfg *eth.Config) {
|
func setLes(ctx *cli.Context, cfg *eth.Config) {
|
||||||
|
if ctx.GlobalIsSet(LightLegacyServFlag.Name) {
|
||||||
|
cfg.LightServ = ctx.GlobalInt(LightLegacyServFlag.Name)
|
||||||
|
}
|
||||||
|
if ctx.GlobalIsSet(LightServeFlag.Name) {
|
||||||
|
cfg.LightServ = ctx.GlobalInt(LightServeFlag.Name)
|
||||||
|
}
|
||||||
|
if ctx.GlobalIsSet(LightIngressFlag.Name) {
|
||||||
|
cfg.LightIngress = ctx.GlobalInt(LightIngressFlag.Name)
|
||||||
|
}
|
||||||
|
if ctx.GlobalIsSet(LightEgressFlag.Name) {
|
||||||
|
cfg.LightEgress = ctx.GlobalInt(LightEgressFlag.Name)
|
||||||
|
}
|
||||||
|
if ctx.GlobalIsSet(LightLegacyPeersFlag.Name) {
|
||||||
|
cfg.LightPeers = ctx.GlobalInt(LightLegacyPeersFlag.Name)
|
||||||
|
}
|
||||||
|
if ctx.GlobalIsSet(LightMaxPeersFlag.Name) {
|
||||||
|
cfg.LightPeers = ctx.GlobalInt(LightMaxPeersFlag.Name)
|
||||||
|
}
|
||||||
if ctx.GlobalIsSet(UltraLightServersFlag.Name) {
|
if ctx.GlobalIsSet(UltraLightServersFlag.Name) {
|
||||||
cfg.UltraLightServers = strings.Split(ctx.GlobalString(UltraLightServersFlag.Name), ",")
|
cfg.UltraLightServers = strings.Split(ctx.GlobalString(UltraLightServersFlag.Name), ",")
|
||||||
}
|
}
|
||||||
@ -1056,19 +1085,22 @@ func SetP2PConfig(ctx *cli.Context, cfg *p2p.Config) {
|
|||||||
setBootstrapNodesV5(ctx, cfg)
|
setBootstrapNodesV5(ctx, cfg)
|
||||||
|
|
||||||
lightClient := ctx.GlobalString(SyncModeFlag.Name) == "light"
|
lightClient := ctx.GlobalString(SyncModeFlag.Name) == "light"
|
||||||
lightServer := ctx.GlobalInt(LightServFlag.Name) != 0
|
lightServer := (ctx.GlobalInt(LightLegacyServFlag.Name) != 0 || ctx.GlobalInt(LightServeFlag.Name) != 0)
|
||||||
lightPeers := ctx.GlobalInt(LightPeersFlag.Name)
|
|
||||||
|
|
||||||
|
lightPeers := ctx.GlobalInt(LightLegacyPeersFlag.Name)
|
||||||
|
if ctx.GlobalIsSet(LightMaxPeersFlag.Name) {
|
||||||
|
lightPeers = ctx.GlobalInt(LightMaxPeersFlag.Name)
|
||||||
|
}
|
||||||
if ctx.GlobalIsSet(MaxPeersFlag.Name) {
|
if ctx.GlobalIsSet(MaxPeersFlag.Name) {
|
||||||
cfg.MaxPeers = ctx.GlobalInt(MaxPeersFlag.Name)
|
cfg.MaxPeers = ctx.GlobalInt(MaxPeersFlag.Name)
|
||||||
if lightServer && !ctx.GlobalIsSet(LightPeersFlag.Name) {
|
if lightServer && !ctx.GlobalIsSet(LightLegacyPeersFlag.Name) && !ctx.GlobalIsSet(LightMaxPeersFlag.Name) {
|
||||||
cfg.MaxPeers += lightPeers
|
cfg.MaxPeers += lightPeers
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if lightServer {
|
if lightServer {
|
||||||
cfg.MaxPeers += lightPeers
|
cfg.MaxPeers += lightPeers
|
||||||
}
|
}
|
||||||
if lightClient && ctx.GlobalIsSet(LightPeersFlag.Name) && cfg.MaxPeers < lightPeers {
|
if lightClient && (ctx.GlobalIsSet(LightLegacyPeersFlag.Name) || ctx.GlobalIsSet(LightMaxPeersFlag.Name)) && cfg.MaxPeers < lightPeers {
|
||||||
cfg.MaxPeers = lightPeers
|
cfg.MaxPeers = lightPeers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1366,9 +1398,9 @@ func SetShhConfig(ctx *cli.Context, stack *node.Node, cfg *whisper.Config) {
|
|||||||
func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *eth.Config) {
|
func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *eth.Config) {
|
||||||
// Avoid conflicting network flags
|
// Avoid conflicting network flags
|
||||||
CheckExclusive(ctx, DeveloperFlag, TestnetFlag, RinkebyFlag, GoerliFlag)
|
CheckExclusive(ctx, DeveloperFlag, TestnetFlag, RinkebyFlag, GoerliFlag)
|
||||||
CheckExclusive(ctx, LightServFlag, SyncModeFlag, "light")
|
CheckExclusive(ctx, LightLegacyServFlag, LightServeFlag, SyncModeFlag, "light")
|
||||||
// Can't use both ephemeral unlocked and external signer
|
CheckExclusive(ctx, DeveloperFlag, ExternalSignerFlag) // Can't use both ephemeral unlocked and external signer
|
||||||
CheckExclusive(ctx, DeveloperFlag, ExternalSignerFlag)
|
|
||||||
var ks *keystore.KeyStore
|
var ks *keystore.KeyStore
|
||||||
if keystores := stack.AccountManager().Backends(keystore.KeyStoreType); len(keystores) > 0 {
|
if keystores := stack.AccountManager().Backends(keystore.KeyStoreType); len(keystores) > 0 {
|
||||||
ks = keystores[0].(*keystore.KeyStore)
|
ks = keystores[0].(*keystore.KeyStore)
|
||||||
@ -1379,19 +1411,11 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *eth.Config) {
|
|||||||
setEthash(ctx, cfg)
|
setEthash(ctx, cfg)
|
||||||
setMiner(ctx, &cfg.Miner)
|
setMiner(ctx, &cfg.Miner)
|
||||||
setWhitelist(ctx, cfg)
|
setWhitelist(ctx, cfg)
|
||||||
setUltraLight(ctx, cfg)
|
setLes(ctx, cfg)
|
||||||
|
|
||||||
if ctx.GlobalIsSet(SyncModeFlag.Name) {
|
if ctx.GlobalIsSet(SyncModeFlag.Name) {
|
||||||
cfg.SyncMode = *GlobalTextMarshaler(ctx, SyncModeFlag.Name).(*downloader.SyncMode)
|
cfg.SyncMode = *GlobalTextMarshaler(ctx, SyncModeFlag.Name).(*downloader.SyncMode)
|
||||||
}
|
}
|
||||||
if ctx.GlobalIsSet(LightServFlag.Name) {
|
|
||||||
cfg.LightServ = ctx.GlobalInt(LightServFlag.Name)
|
|
||||||
}
|
|
||||||
cfg.LightBandwidthIn = ctx.GlobalInt(LightBandwidthInFlag.Name)
|
|
||||||
cfg.LightBandwidthOut = ctx.GlobalInt(LightBandwidthOutFlag.Name)
|
|
||||||
if ctx.GlobalIsSet(LightPeersFlag.Name) {
|
|
||||||
cfg.LightPeers = ctx.GlobalInt(LightPeersFlag.Name)
|
|
||||||
}
|
|
||||||
if ctx.GlobalIsSet(NetworkIdFlag.Name) {
|
if ctx.GlobalIsSet(NetworkIdFlag.Name) {
|
||||||
cfg.NetworkId = ctx.GlobalUint64(NetworkIdFlag.Name)
|
cfg.NetworkId = ctx.GlobalUint64(NetworkIdFlag.Name)
|
||||||
}
|
}
|
||||||
|
@ -103,8 +103,8 @@ type Config struct {
|
|||||||
|
|
||||||
// Light client options
|
// Light client options
|
||||||
LightServ int `toml:",omitempty"` // Maximum percentage of time allowed for serving LES requests
|
LightServ int `toml:",omitempty"` // Maximum percentage of time allowed for serving LES requests
|
||||||
LightBandwidthIn int `toml:",omitempty"` // Incoming bandwidth limit for light servers
|
LightIngress int `toml:",omitempty"` // Incoming bandwidth limit for light servers
|
||||||
LightBandwidthOut int `toml:",omitempty"` // Outgoing bandwidth limit for light servers
|
LightEgress int `toml:",omitempty"` // Outgoing bandwidth limit for light servers
|
||||||
LightPeers int `toml:",omitempty"` // Maximum number of LES client peers
|
LightPeers int `toml:",omitempty"` // Maximum number of LES client peers
|
||||||
|
|
||||||
// Ultra Light client options
|
// Ultra Light client options
|
||||||
|
@ -25,8 +25,8 @@ func (c Config) MarshalTOML() (interface{}, error) {
|
|||||||
NoPrefetch bool
|
NoPrefetch bool
|
||||||
Whitelist map[uint64]common.Hash `toml:"-"`
|
Whitelist map[uint64]common.Hash `toml:"-"`
|
||||||
LightServ int `toml:",omitempty"`
|
LightServ int `toml:",omitempty"`
|
||||||
LightBandwidthIn int `toml:",omitempty"`
|
LightIngress int `toml:",omitempty"`
|
||||||
LightBandwidthOut int `toml:",omitempty"`
|
LightEgress int `toml:",omitempty"`
|
||||||
LightPeers int `toml:",omitempty"`
|
LightPeers int `toml:",omitempty"`
|
||||||
UltraLightServers []string `toml:",omitempty"`
|
UltraLightServers []string `toml:",omitempty"`
|
||||||
UltraLightFraction int `toml:",omitempty"`
|
UltraLightFraction int `toml:",omitempty"`
|
||||||
@ -58,8 +58,8 @@ func (c Config) MarshalTOML() (interface{}, error) {
|
|||||||
enc.NoPrefetch = c.NoPrefetch
|
enc.NoPrefetch = c.NoPrefetch
|
||||||
enc.Whitelist = c.Whitelist
|
enc.Whitelist = c.Whitelist
|
||||||
enc.LightServ = c.LightServ
|
enc.LightServ = c.LightServ
|
||||||
enc.LightBandwidthIn = c.LightBandwidthIn
|
enc.LightIngress = c.LightIngress
|
||||||
enc.LightBandwidthOut = c.LightBandwidthOut
|
enc.LightEgress = c.LightEgress
|
||||||
enc.LightPeers = c.LightPeers
|
enc.LightPeers = c.LightPeers
|
||||||
enc.UltraLightServers = c.UltraLightServers
|
enc.UltraLightServers = c.UltraLightServers
|
||||||
enc.UltraLightFraction = c.UltraLightFraction
|
enc.UltraLightFraction = c.UltraLightFraction
|
||||||
@ -95,8 +95,8 @@ func (c *Config) UnmarshalTOML(unmarshal func(interface{}) error) error {
|
|||||||
NoPrefetch *bool
|
NoPrefetch *bool
|
||||||
Whitelist map[uint64]common.Hash `toml:"-"`
|
Whitelist map[uint64]common.Hash `toml:"-"`
|
||||||
LightServ *int `toml:",omitempty"`
|
LightServ *int `toml:",omitempty"`
|
||||||
LightBandwidthIn *int `toml:",omitempty"`
|
LightIngress *int `toml:",omitempty"`
|
||||||
LightBandwidthOut *int `toml:",omitempty"`
|
LightEgress *int `toml:",omitempty"`
|
||||||
LightPeers *int `toml:",omitempty"`
|
LightPeers *int `toml:",omitempty"`
|
||||||
UltraLightServers []string `toml:",omitempty"`
|
UltraLightServers []string `toml:",omitempty"`
|
||||||
UltraLightFraction *int `toml:",omitempty"`
|
UltraLightFraction *int `toml:",omitempty"`
|
||||||
@ -145,11 +145,11 @@ func (c *Config) UnmarshalTOML(unmarshal func(interface{}) error) error {
|
|||||||
if dec.LightServ != nil {
|
if dec.LightServ != nil {
|
||||||
c.LightServ = *dec.LightServ
|
c.LightServ = *dec.LightServ
|
||||||
}
|
}
|
||||||
if dec.LightBandwidthIn != nil {
|
if dec.LightIngress != nil {
|
||||||
c.LightBandwidthIn = *dec.LightBandwidthIn
|
c.LightIngress = *dec.LightIngress
|
||||||
}
|
}
|
||||||
if dec.LightBandwidthOut != nil {
|
if dec.LightEgress != nil {
|
||||||
c.LightBandwidthOut = *dec.LightBandwidthOut
|
c.LightEgress = *dec.LightEgress
|
||||||
}
|
}
|
||||||
if dec.LightPeers != nil {
|
if dec.LightPeers != nil {
|
||||||
c.LightPeers = *dec.LightPeers
|
c.LightPeers = *dec.LightPeers
|
||||||
|
@ -139,11 +139,11 @@ func newCostTracker(db ethdb.Database, config *eth.Config) (*costTracker, uint64
|
|||||||
reqInfoCh: make(chan reqInfo, 100),
|
reqInfoCh: make(chan reqInfo, 100),
|
||||||
utilTarget: utilTarget,
|
utilTarget: utilTarget,
|
||||||
}
|
}
|
||||||
if config.LightBandwidthIn > 0 {
|
if config.LightIngress > 0 {
|
||||||
ct.inSizeFactor = utilTarget / float64(config.LightBandwidthIn)
|
ct.inSizeFactor = utilTarget / float64(config.LightIngress)
|
||||||
}
|
}
|
||||||
if config.LightBandwidthOut > 0 {
|
if config.LightEgress > 0 {
|
||||||
ct.outSizeFactor = utilTarget / float64(config.LightBandwidthOut)
|
ct.outSizeFactor = utilTarget / float64(config.LightEgress)
|
||||||
}
|
}
|
||||||
if makeCostStats {
|
if makeCostStats {
|
||||||
ct.stats = make(map[uint64][]uint64)
|
ct.stats = make(map[uint64][]uint64)
|
||||||
|
Loading…
Reference in New Issue
Block a user