11#ifndef BOTAN_TLS_SERVER_H_
12#define BOTAN_TLS_SERVER_H_
14#include <botan/credentials_manager.h>
15#include <botan/tls_channel.h>
16#include <botan/tls_policy.h>
65 Server(
const std::shared_ptr<Callbacks>& callbacks,
66 const std::shared_ptr<Session_Manager>& session_manager,
67 const std::shared_ptr<Credentials_Manager>& creds,
68 const std::shared_ptr<const Policy>& policy,
69 const std::shared_ptr<RandomNumberGenerator>& rng,
70 bool is_datagram =
false,
83 size_t from_peer(std::span<const uint8_t> data)
override;
100 void renegotiate(
bool force_full_renegotiation =
false)
override;
109 void to_peer(std::span<const uint8_t> data)
override;
117 void close()
override;
122 std::unique_ptr<Channel_Impl> m_impl;
#define BOTAN_PUBLIC_API(maj, min)
static constexpr size_t IO_BUF_DEFAULT_SIZE
void update_traffic_keys(bool request_peer_update=false) override
SymmetricKey key_material_export(std::string_view label, std::string_view context, size_t length) const override
bool timeout_check() override
bool secure_renegotiation_supported() const override
void send_fatal_alert(Alert::Type type) override
bool is_closed() const override
bool is_closed_for_writing() const override
std::string application_protocol() const override
size_t send_new_session_tickets(size_t tickets=1)
Server(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, bool is_datagram=false, size_t reserved_io_buffer_size=TLS::Channel::IO_BUF_DEFAULT_SIZE)
bool is_handshake_complete() const override
void renegotiate(bool force_full_renegotiation=false) override
std::optional< std::string > external_psk_identity() const override
std::shared_ptr< const Public_Key > peer_raw_public_key() const override
void send_alert(const Alert &alert) override
void send_warning_alert(Alert::Type type) override
bool new_session_ticket_supported() const
std::vector< X509_Certificate > peer_cert_chain() const override
void to_peer(std::span< const uint8_t > data) override
bool is_active() const override
size_t from_peer(std::span< const uint8_t > data) override
bool is_closed_for_reading() const override