mirror of
https://github.com/luxfi/node.git
synced 2026-10-30 15:24:05 +00:00
Two packages were named for the same word and meant different things. network/ dialed peers, exchanged keys, throttled and tracked them; nets/ tracked which chains share a validator set and when they have all bootstrapped. One letter apart, and neither name said which was which. The peer layer is mesh — the word this estate already uses for it, in lux-rs/node's own mesh.rs. That frees network for the thing that is actually a network: a set of chains sharing a validator set. A network holds chains; a chain belongs to one network. github.com/luxfi/p2p stays what it is, the gossip library the VMs use. Three concerns, three names, none of them borrowed from another. Co-authored-by: Hanzo Dev <[email protected]>
29 lines
594 B
Go
29 lines
594 B
Go
// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package throttlingmock
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/luxfi/ids"
|
|
)
|
|
|
|
// Targeter is a mock targeter for testing
|
|
type Targeter struct {
|
|
T *testing.T
|
|
TargetUsageF func(ids.NodeID) float64
|
|
}
|
|
|
|
// NewTargeter creates a new mock targeter
|
|
func NewTargeter(t *testing.T) *Targeter {
|
|
return &Targeter{T: t}
|
|
}
|
|
|
|
func (t *Targeter) TargetUsage(nodeID ids.NodeID) float64 {
|
|
if t.TargetUsageF != nil {
|
|
return t.TargetUsageF(nodeID)
|
|
}
|
|
return 0.5 // Default target usage
|
|
}
|