Create Ripple SSL contexts using std::make_shared.
Add shared_ptr<boost::asio::ssl::context> to ssl_bundle:
This gives the ssl_bundle shared ownership of the underlying ssl context
so that ownership of the bundle may be transferred to other classes without
introduce lifetime issues.
Use ssl_bundle in Overlay::Peer
Use shared_ptr to SSL context in Overlay:
These changes are a prerequisite for the universal port. They allow the
ssl_bundle to retain ownership of the SSL context via shared_ptr.
* Overlay uses shared_ptr to SSL context
* Removed undocumented PEER_SSL_CIPHER_LIST configuration setting
Persist HTTP peer io_service::work lifetime:
This simplification eliminates any potential for bugs caused by incorrect
lifetime management of the io_service::work object.
De-pimpl HTTP::Server
Rename ServerImpl data members
Tidy up HTTP::Port interface
Fix block on ~Door for pending objects
Always detect ssl in HTTP server
Add new Handler interfaces
Add HTTP::Writer interface:
The Writer interface allows clients to supply a "pull" style object to provide
responses to HTTP Requests. The interface is designed to support a coroutine
based implementation.
Split implementation into three headers
Use ssl_bundle in SSLPeer
Call HTTP Handler with legacy peer handshake
Construct Overlay::Peer with ssl_bundle and legacy handshake
Pass legacy peer handshakes through Overlay
Add [server] section in rippled-example.cfg
Add [server] parsing code
Rename to legacy_context