-
Notifications
You must be signed in to change notification settings - Fork 199
/
p2pConfig.go
45 lines (40 loc) · 1.43 KB
/
p2pConfig.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package config
// P2PConfig will hold all the P2P settings
type P2PConfig struct {
Node NodeConfig
KadDhtPeerDiscovery KadDhtPeerDiscoveryConfig
Sharding ShardingConfig
}
// NodeConfig will hold basic p2p settings
type NodeConfig struct {
Port string
Seed string
MaximumExpectedPeerCount uint64
ThresholdMinConnectedPeers uint32
}
// KadDhtPeerDiscoveryConfig will hold the kad-dht discovery config settings
type KadDhtPeerDiscoveryConfig struct {
Enabled bool
Type string
RefreshIntervalInSec uint32
ProtocolID string
InitialPeerList []string
BucketSize uint32
RoutingTableRefreshIntervalInSec uint32
}
// ShardingConfig will hold the network sharding config settings
type ShardingConfig struct {
TargetPeerCount uint32
MaxIntraShardValidators uint32
MaxCrossShardValidators uint32
MaxIntraShardObservers uint32
MaxCrossShardObservers uint32
MaxSeeders uint32
Type string
AdditionalConnections AdditionalConnectionsConfig
}
// AdditionalConnectionsConfig will hold the additional connections that will be open when certain conditions are met
// All these values should be added to the maximum target peer count value
type AdditionalConnectionsConfig struct {
MaxFullHistoryObservers uint32
}