Changeset View
Changeset View
Standalone View
Standalone View
src/net.h
Show First 20 Lines • Show All 162 Lines • ▼ Show 20 Lines | struct Options { | ||||
int64_t m_peer_connect_timeout = DEFAULT_PEER_CONNECT_TIMEOUT; | int64_t m_peer_connect_timeout = DEFAULT_PEER_CONNECT_TIMEOUT; | ||||
std::vector<std::string> vSeedNodes; | std::vector<std::string> vSeedNodes; | ||||
std::vector<NetWhitelistPermissions> vWhitelistedRange; | std::vector<NetWhitelistPermissions> vWhitelistedRange; | ||||
std::vector<NetWhitebindPermissions> vWhiteBinds; | std::vector<NetWhitebindPermissions> vWhiteBinds; | ||||
std::vector<CService> vBinds; | std::vector<CService> vBinds; | ||||
bool m_use_addrman_outgoing = true; | bool m_use_addrman_outgoing = true; | ||||
std::vector<std::string> m_specified_outgoing; | std::vector<std::string> m_specified_outgoing; | ||||
std::vector<std::string> m_added_nodes; | std::vector<std::string> m_added_nodes; | ||||
std::vector<bool> m_asmap; | |||||
}; | }; | ||||
void Init(const Options &connOptions) { | void Init(const Options &connOptions) { | ||||
nLocalServices = connOptions.nLocalServices; | nLocalServices = connOptions.nLocalServices; | ||||
nMaxConnections = connOptions.nMaxConnections; | nMaxConnections = connOptions.nMaxConnections; | ||||
m_max_outbound_full_relay = std::min( | m_max_outbound_full_relay = std::min( | ||||
connOptions.m_max_outbound_full_relay, connOptions.nMaxConnections); | connOptions.m_max_outbound_full_relay, connOptions.nMaxConnections); | ||||
m_max_outbound_block_relay = connOptions.m_max_outbound_block_relay; | m_max_outbound_block_relay = connOptions.m_max_outbound_block_relay; | ||||
▲ Show 20 Lines • Show All 172 Lines • ▼ Show 20 Lines | public: | ||||
/** | /** | ||||
* Attempts to obfuscate tx time through exponentially distributed emitting. | * Attempts to obfuscate tx time through exponentially distributed emitting. | ||||
* Works assuming that a single interval is used. | * Works assuming that a single interval is used. | ||||
* Variable intervals will result in privacy decrease. | * Variable intervals will result in privacy decrease. | ||||
*/ | */ | ||||
int64_t PoissonNextSendInbound(int64_t now, int average_interval_seconds); | int64_t PoissonNextSendInbound(int64_t now, int average_interval_seconds); | ||||
void SetAsmap(std::vector<bool> asmap) { addrman.m_asmap = asmap; } | |||||
private: | private: | ||||
struct ListenSocket { | struct ListenSocket { | ||||
public: | public: | ||||
SOCKET socket; | SOCKET socket; | ||||
inline void AddSocketPermissionFlags(NetPermissionFlags &flags) const { | inline void AddSocketPermissionFlags(NetPermissionFlags &flags) const { | ||||
NetPermissions::AddFlag(flags, m_permissions); | NetPermissions::AddFlag(flags, m_permissions); | ||||
} | } | ||||
ListenSocket(SOCKET socket_, NetPermissionFlags permissions_) | ListenSocket(SOCKET socket_, NetPermissionFlags permissions_) | ||||
▲ Show 20 Lines • Show All 621 Lines • Show Last 20 Lines |