33#include <unordered_set>
36#include <boost/date_time/posix_time/posix_time.hpp>
81 return std::atomic<uint32_t>::operator++();
85 return std::atomic<uint32_t>::operator++(fake);
120 return "before_handshake";
122 return "synchronizing";
#define s(x, c)
Definition: aesb.c:47
Definition: connection_context.h:66
uint32_t operator++(int fake)
Definition: connection_context.h:83
uint32_t operator++()
Definition: connection_context.h:79
copyable_atomic & operator=(const copyable_atomic &a)
Definition: connection_context.h:74
copyable_atomic()
Definition: connection_context.h:68
copyable_atomic(const copyable_atomic &a)
Definition: connection_context.h:72
copyable_atomic(uint32_t value)
Definition: connection_context.h:70
#define const
Definition: ipfrdr.c:80
Definition: portable_binary_archive.hpp:29
crypto namespace.
Definition: crypto.cpp:60
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:115
char get_protocol_state_char(cryptonote_connection_context::state s)
Definition: connection_context.h:134
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1124
#define false
Definition: stdbool.h:37
unsigned short uint16_t
Definition: stdint.h:125
unsigned int uint32_t
Definition: stdint.h:126
signed int int32_t
Definition: stdint.h:123
unsigned __int64 uint64_t
Definition: stdint.h:136
Definition: connection_context.h:43
copyable_atomic m_callback_request_count
Definition: connection_context.h:101
copyable_atomic m_idle_peer_notification
Definition: connection_context.h:112
uint64_t m_expect_height
Definition: connection_context.h:109
std::unordered_set< crypto::hash > m_requested_objects
Definition: connection_context.h:97
static size_t get_max_bytes(int command) noexcept
Definition: connection_context.cpp:37
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:107
std::vector< std::pair< crypto::hash, uint64_t > > m_needed_objects
Definition: connection_context.h:96
uint64_t m_last_response_height
Definition: connection_context.h:99
static constexpr int handshake_command() noexcept
Definition: connection_context.h:89
crypto::hash m_last_known_hash
Definition: connection_context.h:102
uint32_t m_rpc_credits_per_hash
Definition: connection_context.h:105
size_t m_num_requested
Definition: connection_context.h:110
int m_expect_response
Definition: connection_context.h:108
uint16_t m_rpc_port
Definition: connection_context.h:104
uint64_t m_remote_blockchain_height
Definition: connection_context.h:98
uint32_t m_pruning_seed
Definition: connection_context.h:103
boost::posix_time::ptime m_last_request_time
Definition: connection_context.h:100
state m_state
Definition: connection_context.h:95
copyable_atomic m_new_stripe_notification
Definition: connection_context.h:111
bool m_anchor
Definition: connection_context.h:106
bool handshake_complete() const noexcept
Definition: connection_context.h:90
Definition: net_utils_base.h:365
Definition: blake256.h:36