mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Isolate WebSocket 0.2-specific code.
* Hide implementation details of the WebSocket server from clients. * Extract a generic traits class.
This commit is contained in:
@@ -292,7 +292,7 @@ public:
|
||||
std::unique_ptr <DatabaseCon> mLedgerDB;
|
||||
std::unique_ptr <DatabaseCon> mWalletDB;
|
||||
std::unique_ptr <Overlay> m_overlay;
|
||||
std::vector <std::unique_ptr<WSDoor>> wsDoors_;
|
||||
std::vector <std::unique_ptr<beast::Stoppable>> websocketServers_;
|
||||
|
||||
boost::asio::signal_set m_signals;
|
||||
beast::WaitableEvent m_stop;
|
||||
@@ -804,20 +804,21 @@ public:
|
||||
serverHandler_->setup (setup, m_journal);
|
||||
}
|
||||
|
||||
// Create websocket doors
|
||||
// Create websocket servers.
|
||||
for (auto const& port : serverHandler_->setup().ports)
|
||||
{
|
||||
if (! port.websockets())
|
||||
continue;
|
||||
auto door (make_WSDoor (port, *m_resourceManager, getOPs (),
|
||||
*m_collectorManager));
|
||||
if (door == nullptr)
|
||||
auto server = websocket::makeServer (
|
||||
{port, *m_resourceManager, getOPs(), m_journal,
|
||||
*m_collectorManager});
|
||||
if (!server)
|
||||
{
|
||||
m_journal.fatal << "Could not create Websocket for [" <<
|
||||
port.name << "]";
|
||||
throw std::exception();
|
||||
}
|
||||
wsDoors_.emplace_back(std::move(door));
|
||||
websocketServers_.emplace_back (std::move (server));
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user