11#ifndef BOTAN_TLS_CHANNEL_IMPL_H_
12#define BOTAN_TLS_CHANNEL_IMPL_H_
14#include <botan/tls_channel.h>
15#include <botan/tls_magic.h>
16#include <botan/tls_version.h>
24class Credentials_Manager;
25class X509_Certificate;
52 virtual size_t from_peer(std::span<const uint8_t> data) = 0;
58 virtual void to_peer(std::span<const uint8_t> data) = 0;
131 std::string_view context,
132 size_t length)
const = 0;
139 virtual void renegotiate(
bool force_full_renegotiation =
false) = 0;
216 std::shared_ptr<Credentials_Manager>
creds;
217 std::shared_ptr<RandomNumberGenerator>
rng;
#define BOTAN_ASSERT_NOMSG(expr)
#define BOTAN_STATE_CHECK(expr)
virtual std::optional< std::string > external_psk_identity() const =0
virtual SymmetricKey key_material_export(std::string_view label, std::string_view context, size_t length) const =0
virtual bool is_active() const =0
void preserve_peer_transcript(std::span< const uint8_t > input)
virtual std::string application_protocol() const =0
virtual bool new_session_ticket_supported() const
virtual ~Channel_Impl()=default
bool is_downgrading() const
void request_downgrade_for_resumption(Session_with_Handle session)
void preserve_client_hello(std::span< const uint8_t > msg)
virtual size_t from_peer(std::span< const uint8_t > data)=0
bool expects_downgrade() const
virtual bool timeout_check()=0
virtual bool is_closed_for_reading() const =0
virtual void update_traffic_keys(bool request_peer_update=false)=0
virtual void send_alert(const Alert &alert)=0
virtual void to_peer(std::span< const uint8_t > data)=0
virtual bool is_closed() const =0
void send_warning_alert(Alert::Type type)
virtual bool secure_renegotiation_supported() const =0
std::unique_ptr< Downgrade_Information > extract_downgrade_info()
virtual bool is_closed_for_writing() const =0
virtual std::shared_ptr< const Public_Key > peer_raw_public_key() const =0
void send_fatal_alert(Alert::Type type)
void set_io_buffer_size(size_t io_buf_sz)
virtual void renegotiate(bool force_full_renegotiation=false)=0
std::unique_ptr< Downgrade_Information > m_downgrade_info
virtual std::vector< X509_Certificate > peer_cert_chain() const =0
virtual bool is_handshake_complete() const =0
virtual size_t send_new_session_tickets(const size_t)
bool is_pre_tls_13() const
Protocol_Version version() const