TARAXA
taraxa.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "Common.h"
4 
5 namespace dev::p2p {
6 
8  unsigned ideal_peer_count = 11;
9  unsigned peer_stretch = 7;
10  bool is_boot_node = false;
11  unsigned chain_id = 0;
13  std::chrono::seconds peer_healthcheck_interval{30};
14  std::chrono::seconds peer_healthcheck_timeout{1};
15  std::chrono::milliseconds main_loop_interval{100};
16  std::chrono::seconds log_active_peers_interval{30};
17 };
18 
19 class CapabilityFace;
20 
21 struct Capability {
22  std::shared_ptr<CapabilityFace> const ref;
23  unsigned const message_count = 0;
24 
25  Capability(std::shared_ptr<CapabilityFace> ref, unsigned message_count)
26  : ref(std::move(ref)), message_count(message_count) {}
27 };
28 
30  unsigned const version = 0;
31  unsigned const offset = 0;
32 
33  SessionCapability(Capability const& cap, unsigned version, unsigned offset)
34  : Capability(cap), version(version), offset(offset) {}
35 };
36 
38 using Capabilities = std::map<CapabilityNameAndVersion, Capability>;
39 using SessionCapabilities = std::map<std::string, SessionCapability>;
40 
41 } // namespace dev::p2p
Definition: Capability.h:9
std::map< CapabilityNameAndVersion, Capability > Capabilities
Definition: taraxa.hpp:38
std::chrono::seconds peer_healthcheck_interval
Definition: taraxa.hpp:13
unsigned chain_id
Definition: taraxa.hpp:11
std::pair< std::string, unsigned > CapDesc
Definition: Common.h:116
unsigned peer_stretch
Definition: taraxa.hpp:9
bool is_boot_node
Definition: taraxa.hpp:10
std::chrono::seconds peer_healthcheck_timeout
Definition: taraxa.hpp:14
CapDesc CapabilityNameAndVersion
Definition: taraxa.hpp:37
std::map< std::string, SessionCapability > SessionCapabilities
Definition: taraxa.hpp:39
uint expected_parallelism
Definition: taraxa.hpp:12
std::chrono::seconds log_active_peers_interval
Definition: taraxa.hpp:16
unsigned ideal_peer_count
Definition: taraxa.hpp:8
std::chrono::milliseconds main_loop_interval
Definition: taraxa.hpp:15
Definition: taraxa.hpp:7
std::hash for asio::adress
Definition: FixedHash.h:483
Definition: taraxa.hpp:21
Capability(std::shared_ptr< CapabilityFace > ref, unsigned message_count)
Definition: taraxa.hpp:25
std::shared_ptr< CapabilityFace > const ref
Definition: taraxa.hpp:22
unsigned const message_count
Definition: taraxa.hpp:23
Definition: taraxa.hpp:29
unsigned const offset
Definition: taraxa.hpp:31
unsigned const version
Definition: taraxa.hpp:30
SessionCapability(Capability const &cap, unsigned version, unsigned offset)
Definition: taraxa.hpp:33