Commit 3da5e8e7 authored by Dominik Charousset's avatar Dominik Charousset

Use strong ownership for SSL sessions

parent 2b67963a
......@@ -20,6 +20,8 @@
#ifndef CAF_OPENSSL_SESSION_HPP
#define CAF_OPENSSL_SESSION_HPP
#include <memory>
#include "caf/config.hpp"
CAF_PUSH_WARNINGS
......@@ -38,7 +40,7 @@ using native_socket = io::network::native_socket;
using rw_state = io::network::rw_state;
class session : public ref_counted {
class session {
public:
session(actor_system& sys);
~session();
......@@ -68,7 +70,7 @@ private:
};
/// @relates session
using session_ptr = intrusive_ptr<session>;
using session_ptr = std::unique_ptr<session>;
/// @relates session
session_ptr make_session(actor_system& sys, native_socket fd,
......
......@@ -50,7 +50,7 @@ using native_socket = io::network::native_socket;
using default_mpx = io::network::default_multiplexer;
struct ssl_policy {
ssl_policy(intrusive_ptr<session> session) : session_(std::move(session)) {
ssl_policy(session_ptr session) : session_(std::move(session)) {
// nop
}
......@@ -81,7 +81,7 @@ struct ssl_policy {
}
private:
intrusive_ptr<session> session_;
session_ptr session_;
};
class scribe_impl : public io::scribe {
......
......@@ -253,7 +253,7 @@ bool session::handle_ssl_result(int ret) {
session_ptr make_session(actor_system& sys, native_socket fd,
bool from_accepted_socket) {
auto ptr = make_counted<session>(sys);
session_ptr ptr{new session(sys)};
if (!ptr->init())
return nullptr;
if (from_accepted_socket) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment