11#ifndef BOTAN_TLS_CHANNEL_IMPL_H_
12#define BOTAN_TLS_CHANNEL_IMPL_H_
14#include <botan/assert.h>
15#include <botan/tls_channel.h>
16#include <botan/tls_magic.h>
17#include <botan/tls_version.h>
58 virtual size_t from_peer(std::span<const uint8_t> data) = 0;
64 virtual void to_peer(std::span<const uint8_t> data) = 0;
137 std::string_view context,
138 size_t length)
const = 0;
145 virtual void renegotiate(
bool force_full_renegotiation =
false) = 0;
224 std::shared_ptr<Credentials_Manager>
creds;
225 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
Channel_Impl(Channel_Impl &&other)=default
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
Channel_Impl & operator=(Channel_Impl &&other)=delete
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
Channel_Impl(const Channel_Impl &other)=delete
virtual bool is_handshake_complete() const =0
virtual size_t send_new_session_tickets(const size_t)
Channel_Impl & operator=(const Channel_Impl &other)=delete
bool is_pre_tls_13() const
Protocol_Version version() const