32 #include <unordered_set>
35 #include <boost/date_time/posix_time/posix_time.hpp>
36 #include "net/net_utils_base.h"
37 #include "copyable_atomic.h"
87 return "before_handshake";
89 return "synchronizing";
#define s(x, c)
Definition: aesb.c:47
Definition: unordered_containers_boost_serialization.h:38
const
Definition: build_protob.py:9
crypto namespace.
Definition: crypto.cpp:60
constexpr static crypto::hash null_hash
Definition: hash.h:92
POD_CLASS hash
Definition: hash.h:48
Holds cryptonote related classes and helpers.
Definition: blockchain_db.cpp:45
std::string get_protocol_state_string(cryptonote_connection_context::state s)
Definition: connection_context.h:82
char get_protocol_state_char(cryptonote_connection_context::state s)
Definition: connection_context.h:101
#define false
Definition: stdbool.h:37
Definition: connection_context.h:43
uint64_t m_expect_height
Definition: connection_context.h:78
std::unordered_set< crypto::hash > m_requested_objects
Definition: connection_context.h:66
static size_t get_max_bytes(int command) noexcept
Definition: connection_context.cpp:36
state
Definition: connection_context.h:50
@ state_before_handshake
Definition: connection_context.h:51
@ state_normal
Definition: connection_context.h:55
@ state_standby
Definition: connection_context.h:53
@ state_synchronizing
Definition: connection_context.h:52
@ state_idle
Definition: connection_context.h:54
cryptonote_connection_context()
Definition: connection_context.h:44
int32_t m_score
Definition: connection_context.h:76
std::vector< std::pair< crypto::hash, uint64_t > > m_needed_objects
Definition: connection_context.h:65
uint64_t m_last_response_height
Definition: connection_context.h:68
static constexpr int handshake_command() noexcept
Definition: connection_context.h:58
crypto::hash m_last_known_hash
Definition: connection_context.h:71
uint32_t m_rpc_credits_per_hash
Definition: connection_context.h:74
size_t m_num_requested
Definition: connection_context.h:79
int m_expect_response
Definition: connection_context.h:77
uint16_t m_rpc_port
Definition: connection_context.h:73
uint64_t m_remote_blockchain_height
Definition: connection_context.h:67
uint32_t m_pruning_seed
Definition: connection_context.h:72
boost::posix_time::ptime m_last_request_time
Definition: connection_context.h:69
state m_state
Definition: connection_context.h:64
bool m_anchor
Definition: connection_context.h:75
epee::copyable_atomic m_callback_request_count
Definition: connection_context.h:70
bool handshake_complete() const noexcept
Definition: connection_context.h:59
Definition: blake256.h:36