Botan 3.4.0
Crypto and TLS for C&
Public Member Functions | Protected Attributes | List of all members
Botan::TLS::Channel_Impl_13::AggregatedPostHandshakeMessages Class Reference

#include <tls_channel_impl_13.h>

Inheritance diagram for Botan::TLS::Channel_Impl_13::AggregatedPostHandshakeMessages:
Botan::TLS::Channel_Impl_13::AggregatedMessages

Public Member Functions

AggregatedPostHandshakeMessagesadd (Post_Handshake_Message_13 message)
 
 AggregatedMessages (AggregatedMessages &&)=delete
 
 AggregatedMessages (Channel_Impl_13 &channel, Handshake_Layer &handshake_layer)
 
 AggregatedMessages (const AggregatedMessages &)=delete
 
bool contains_messages () const
 
std::vector< uint8_t > send ()
 

Protected Attributes

Channel_Impl_13m_channel
 
Handshake_Layerm_handshake_layer
 
std::vector< uint8_t > m_message_buffer
 

Detailed Description

Aggregate post-handshake messages. In contrast to ordinary handshake messages this does not maintain a Transcript_Hash_State.

Definition at line 88 of file tls_channel_impl_13.h.

Member Function Documentation

◆ add()

Channel_Impl_13::AggregatedPostHandshakeMessages & Botan::TLS::Channel_Impl_13::AggregatedPostHandshakeMessages::add ( Post_Handshake_Message_13 message)

Definition at line 235 of file tls_channel_impl_13.cpp.

236 {
237 std::visit([&](const auto& msg) { m_channel.callbacks().tls_inspect_handshake_msg(msg); }, message);
239 return *this;
240}
static std::vector< uint8_t > prepare_post_handshake_message(const Post_Handshake_Message_13 &message)

References Botan::TLS::Handshake_Layer::prepare_post_handshake_message().

Referenced by Botan::TLS::Channel_Impl_13::send_post_handshake_message().

◆ AggregatedMessages() [1/3]

Botan::TLS::Channel_Impl_13::AggregatedMessages::AggregatedMessages ( AggregatedMessages && )
delete

◆ AggregatedMessages() [2/3]

Botan::TLS::Channel_Impl_13::AggregatedMessages::AggregatedMessages ( Channel_Impl_13 & channel,
Handshake_Layer & handshake_layer )

Definition at line 36 of file tls_channel_impl_13.cpp.

220 :
221 m_channel(channel), m_handshake_layer(handshake_layer) {}

◆ AggregatedMessages() [3/3]

Botan::TLS::Channel_Impl_13::AggregatedMessages::AggregatedMessages ( const AggregatedMessages & )
delete

◆ contains_messages()

bool Botan::TLS::Channel_Impl_13::AggregatedMessages::contains_messages ( ) const
inlineinherited

◆ send()

std::vector< uint8_t > Botan::TLS::Channel_Impl_13::AggregatedMessages::send ( )
inherited

Send the messages aggregated in the message buffer. The buffer is returned if the sender needs to also handle it somehow. Most notable use: book keeping for a potential protocol downgrade in the client implementation.

Definition at line 242 of file tls_channel_impl_13.cpp.

242 {
245 return std::exchange(m_message_buffer, {});
246}
#define BOTAN_STATE_CHECK(expr)
Definition assert.h:41

References BOTAN_STATE_CHECK, and Botan::TLS::Handshake.

Referenced by Botan::TLS::Channel_Impl_13::send_handshake_message(), and Botan::TLS::Channel_Impl_13::send_post_handshake_message().

Member Data Documentation

◆ m_channel

Channel_Impl_13& Botan::TLS::Channel_Impl_13::AggregatedMessages::m_channel
protectedinherited

Definition at line 58 of file tls_channel_impl_13.h.

◆ m_handshake_layer

Handshake_Layer& Botan::TLS::Channel_Impl_13::AggregatedMessages::m_handshake_layer
protectedinherited

Definition at line 59 of file tls_channel_impl_13.h.

◆ m_message_buffer

std::vector<uint8_t> Botan::TLS::Channel_Impl_13::AggregatedMessages::m_message_buffer
protectedinherited

The documentation for this class was generated from the following files: