Beast.WebSocket:

Beast.WebSocket provides developers with a robust WebSocket
implementation built on Boost.Asio with a consistent asynchronous
model using a modern C++ approach.
This commit is contained in:
Vinnie Falco
2016-02-25 16:17:19 -05:00
parent 5e8d028da2
commit 2cb3834bbb
106 changed files with 14671 additions and 772 deletions

View File

@@ -21,6 +21,7 @@
#define RIPPLE_SERVER_SSLHTTPPEER_H_INCLUDED
#include <ripple/server/impl/BaseHTTPPeer.h>
#include <ripple/server/impl/SSLWSPeer.h>
#include <beast/asio/ssl_bundle.h>
#include <memory>
@@ -47,15 +48,18 @@ public:
void
run();
std::shared_ptr<WSSession>
websocketUpgrade() override;
private:
void
do_handshake (yield_context yield);
void
do_request();
do_request() override;
void
do_close();
do_close() override;
void
on_shutdown (error_code ec);
@@ -93,6 +97,17 @@ SSLHTTPPeer::run()
shared_from_this(), std::placeholders::_1));
}
std::shared_ptr<WSSession>
SSLHTTPPeer::websocketUpgrade()
{
auto ws = ios().emplace<SSLWSPeer>(
port_, handler_, remote_address_,
std::move(message_), std::move(ssl_bundle_),
journal_);
ws->run();
return ws;
}
void
SSLHTTPPeer::do_handshake (yield_context yield)
{