// Take ownership of the socket session(tcp::socket socket, ssl::context& ctx) : socket_(std::move(socket)) , ws_(socket_, ctx) , strand_(ws_.get_executor()) { }
// Take ownership of the socket explicit session(tcp::socket socket) : ws_(std::move(socket)) , strand_(ws_.get_executor()) { }