52 const std::shared_ptr<Credentials_Manager>& creds,
53 const std::shared_ptr<const Policy>&
policy,
54 const std::shared_ptr<RandomNumberGenerator>&
rng,
56 bool datagram =
false,
57 const std::vector<std::string>& next_protocols = {},
68 std::vector<X509_Certificate> get_peer_cert_chain(
const Handshake_State& state)
const override;
70 void initiate_handshake(
Handshake_State& state,
bool force_full_renegotiation)
override;
73 bool force_full_renegotiation,
75 std::optional<Session_with_Handle> session_and_handle = std::nullopt,
76 const std::vector<std::string>& next_protocols = {});
78 void process_handshake_msg(
const Handshake_State* active_state,
79 Handshake_State& pending_state,
81 const std::vector<uint8_t>& contents,
82 bool epoch0_restart)
override;
84 std::unique_ptr<Handshake_State> new_handshake_state(std::unique_ptr<Handshake_IO> io)
override;
86 std::shared_ptr<Credentials_Manager> m_creds;
87 const Server_Information m_info;
88 std::string m_application_protocol;
Client_Impl_12(const std::shared_ptr< Callbacks > &callbacks, const std::shared_ptr< Session_Manager > &session_manager, const std::shared_ptr< Credentials_Manager > &creds, const std::shared_ptr< const Policy > &policy, const std::shared_ptr< RandomNumberGenerator > &rng, Server_Information server_info=Server_Information(), bool datagram=false, const std::vector< std::string > &next_protocols={}, size_t reserved_io_buffer_size=TLS::Channel::IO_BUF_DEFAULT_SIZE)