14class WsServer :
public std::enable_shared_from_this<WsServer>,
public jsonrpc::AbstractServerConnector {
16 WsServer(boost::asio::io_context& ioc, tcp::endpoint endpoint,
addr_t node_addr,
17 std::shared_ptr<metrics::JsonRpcMetrics> metrics);
30 void newDagBlock(
const std::shared_ptr<DagBlock>& blk);
37 virtual std::shared_ptr<WsSession>
createSession(tcp::socket&& socket) = 0;
44 void on_accept(beast::error_code ec, tcp::socket socket);
46 boost::asio::io_context&
ioc_;
54 std::shared_ptr<metrics::JsonRpcMetrics>
metrics_;
Definition FixedHash.h:35
Definition ws_server.hpp:14
void on_accept(beast::error_code ec, tcp::socket socket)
Definition ws_server.cpp:248
virtual ~WsServer()
Definition ws_server.cpp:232
WsServer & operator=(WsServer &&)=delete
void newEthBlock(const ::taraxa::final_chain::BlockHeader &payload, const TransactionHashes &trx_hashes)
Definition ws_server.cpp:274
void newDagBlockFinalized(const blk_hash_t &blk, uint64_t period)
Definition ws_server.cpp:310
const addr_t node_addr_
Definition ws_server.hpp:53
virtual bool StopListening()
Definition ws_server.hpp:40
void newLogs(const ::taraxa::final_chain::BlockHeader &payload, TransactionHashes trx_hashes, const TransactionReceipts &receipts)
Definition ws_server.cpp:288
boost::shared_mutex sessions_mtx_
Definition ws_server.hpp:50
virtual bool StartListening()
Definition ws_server.hpp:39
void newDagBlock(const std::shared_ptr< DagBlock > &blk)
Definition ws_server.cpp:300
WsServer & operator=(const WsServer &)=delete
uint32_t numberOfSessions()
Definition ws_server.cpp:356
WsServer(const WsServer &)=delete
void newPbftBlockExecuted(const PbftBlock &blk, const std::vector< blk_hash_t > &finalized_dag_blk_hashes)
Definition ws_server.cpp:323
std::shared_ptr< metrics::JsonRpcMetrics > metrics_
Definition ws_server.hpp:54
void newPillarBlockData(const pillar_chain::PillarBlockData &pillar_block_data)
Definition ws_server.cpp:345
void do_accept()
Definition ws_server.cpp:243
void newPendingTransaction(const trx_hash_t &trx_hash)
Definition ws_server.cpp:334
friend WsSession
Definition ws_server.hpp:55
LOG_OBJECTS_DEFINE boost::asio::io_context & ioc_
Definition ws_server.hpp:46
tcp::acceptor acceptor_
Definition ws_server.hpp:47
std::atomic< bool > stopped_
Definition ws_server.hpp:49
std::list< std::shared_ptr< WsSession > > sessions_
Definition ws_server.hpp:48
void run()
Definition ws_server.cpp:230
virtual std::shared_ptr< WsSession > createSession(tcp::socket &&socket)=0
WsServer(WsServer &&)=delete
The PbftBlock class is a PBFT block class that includes PBFT block hash, previous PBFT block hash,...
Definition pbft_block.hpp:22
Definition pillar_block.hpp:143
#define LOG_OBJECTS_DEFINE
Definition logger.hpp:60
Definition http_processor.hpp:11
std::vector< TransactionReceipt > TransactionReceipts
Definition receipt.hpp:35
std::vector< trx_hash_t > TransactionHashes
Definition transaction.hpp:87