mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
adds RNG support for endpoints, connections, and processors
This commit is contained in:
@@ -155,7 +155,9 @@ public:
|
||||
|
||||
typedef typename config::con_msg_manager_type con_msg_manager_type;
|
||||
typedef typename con_msg_manager_type::ptr con_msg_manager_ptr;
|
||||
|
||||
|
||||
/// Type of RNG
|
||||
|
||||
typedef processor::processor<config> processor_type;
|
||||
typedef lib::shared_ptr<processor_type> processor_ptr;
|
||||
|
||||
@@ -166,7 +168,7 @@ public:
|
||||
typedef session::internal_state::value istate_type;
|
||||
|
||||
explicit connection(bool is_server, const std::string& ua, alog_type& alog,
|
||||
elog_type& elog)
|
||||
elog_type& elog, rng_type & rng)
|
||||
: transport_con_type(is_server,alog,elog)
|
||||
, m_user_agent(ua)
|
||||
, m_state(session::state::CONNECTING)
|
||||
@@ -177,6 +179,7 @@ public:
|
||||
, m_is_server(is_server)
|
||||
, m_alog(alog)
|
||||
, m_elog(elog)
|
||||
, m_rng(rng)
|
||||
{
|
||||
m_alog.write(log::alevel::devel,"connection constructor");
|
||||
}
|
||||
@@ -935,6 +938,8 @@ private:
|
||||
alog_type& m_alog;
|
||||
elog_type& m_elog;
|
||||
|
||||
rng_type & m_rng;
|
||||
|
||||
// Close state
|
||||
/// Close code that was sent on the wire by this endpoint
|
||||
close::status::value m_local_close_code;
|
||||
|
||||
@@ -80,6 +80,9 @@ public:
|
||||
/// Type of our concurrency policy's mutex object
|
||||
typedef typename concurrency_type::mutex_type mutex_type;
|
||||
|
||||
/// Type of RNG
|
||||
typedef typename config::rng_type rng_type;
|
||||
|
||||
// TODO: organize these
|
||||
typedef typename connection_type::termination_handler termination_handler;
|
||||
|
||||
@@ -339,7 +342,7 @@ private:
|
||||
validate_handler m_validate_handler;
|
||||
message_handler m_message_handler;
|
||||
|
||||
|
||||
rng_type m_rng;
|
||||
|
||||
// endpoint resources
|
||||
std::set<connection_ptr> m_connections;
|
||||
|
||||
@@ -1394,7 +1394,8 @@ connection<config>::get_processor(int version) const {
|
||||
new processor::hybi07<config>(
|
||||
transport_con_type::is_secure(),
|
||||
m_is_server,
|
||||
m_msg_manager
|
||||
m_msg_manager,
|
||||
m_rng
|
||||
)
|
||||
);
|
||||
break;
|
||||
@@ -1403,7 +1404,8 @@ connection<config>::get_processor(int version) const {
|
||||
new processor::hybi08<config>(
|
||||
transport_con_type::is_secure(),
|
||||
m_is_server,
|
||||
m_msg_manager
|
||||
m_msg_manager,
|
||||
m_rng
|
||||
)
|
||||
);
|
||||
break;
|
||||
@@ -1412,7 +1414,8 @@ connection<config>::get_processor(int version) const {
|
||||
new processor::hybi13<config>(
|
||||
transport_con_type::is_secure(),
|
||||
m_is_server,
|
||||
m_msg_manager
|
||||
m_msg_manager,
|
||||
m_rng
|
||||
)
|
||||
);
|
||||
break;
|
||||
|
||||
@@ -42,7 +42,7 @@ endpoint<connection,config>::create_connection() {
|
||||
|
||||
// Create a connection on the heap and manage it using a shared pointer
|
||||
connection_ptr con(new connection_type(m_is_server,m_user_agent,m_alog,
|
||||
m_elog));
|
||||
m_elog, m_rng));
|
||||
|
||||
connection_weak_ptr w(con);
|
||||
|
||||
|
||||
@@ -41,9 +41,11 @@ template <typename config>
|
||||
class hybi07 : public hybi08<config> {
|
||||
public:
|
||||
typedef typename config::con_msg_manager_type::ptr msg_manager_ptr;
|
||||
typedef typename config::rng_type rng_type;
|
||||
|
||||
explicit hybi07(bool secure,bool server, msg_manager_ptr manager)
|
||||
: hybi08<config>(secure, server, manager) {}
|
||||
explicit hybi07(bool secure,bool server, msg_manager_ptr manager,
|
||||
rng_type& rng)
|
||||
: hybi08<config>(secure, server, manager, rng) {}
|
||||
|
||||
int get_version() const {
|
||||
return 7;
|
||||
|
||||
@@ -44,9 +44,11 @@ public:
|
||||
typedef typename config::request_type request_type;
|
||||
|
||||
typedef typename config::con_msg_manager_type::ptr msg_manager_ptr;
|
||||
typedef typename config::rng_type rng_type;
|
||||
|
||||
explicit hybi08(bool secure, bool server, msg_manager_ptr manager)
|
||||
: hybi13<config>(secure, server, manager) {}
|
||||
explicit hybi08(bool secure, bool server, msg_manager_ptr manager,
|
||||
rng_type& rng)
|
||||
: hybi13<config>(secure, server, manager, rng) {}
|
||||
|
||||
int get_version() const {
|
||||
return 8;
|
||||
|
||||
@@ -65,14 +65,17 @@ public:
|
||||
|
||||
typedef typename config::con_msg_manager_type msg_manager_type;
|
||||
typedef typename msg_manager_type::ptr msg_manager_ptr;
|
||||
typedef typename config::rng_type rng_type;
|
||||
|
||||
typedef typename config::permessage_compress_type permessage_compress_type;
|
||||
|
||||
typedef std::pair<lib::error_code,std::string> err_str_pair;
|
||||
|
||||
explicit hybi13(bool secure, bool server, msg_manager_ptr manager)
|
||||
explicit hybi13(bool secure, bool server, msg_manager_ptr manager,
|
||||
rng_type& rng)
|
||||
: processor<config>(secure,server)
|
||||
, m_msg_manager(manager)
|
||||
, m_rng(rng)
|
||||
{
|
||||
reset_headers();
|
||||
}
|
||||
@@ -899,7 +902,7 @@ protected:
|
||||
// utf8 validator
|
||||
// compression state
|
||||
|
||||
|
||||
rng_type& m_rng;
|
||||
|
||||
// Overall state of the processor
|
||||
state m_state;
|
||||
|
||||
Reference in New Issue
Block a user