class TTTLS13::Message::Extension::EarlyDataIndication
Attributes
extension_type[R]
max_early_data_size[R]
Public Class Methods
deserialize(binary, msg_type)
click to toggle source
@param binary [String] @param msg_type [TTTLS13::Message::ContentType]
@raise [TTTLS13::Error::ErrorAlerts]
@return [TTTLS13::Message::Extensions::EarlyDataIndication, nil]
# File lib/tttls1.3/message/extension/early_data_indication.rb, line 37 def self.deserialize(binary, msg_type) raise Error::ErrorAlerts, :internal_error if binary.nil? case msg_type when HandshakeType::CLIENT_HELLO, HandshakeType::ENCRYPTED_EXTENSIONS return nil unless binary.empty? max_early_data_size = nil when HandshakeType::NEW_SESSION_TICKET return nil unless binary.length == 4 max_early_data_size = Convert.bin2i(binary) else raise Error::ErrorAlerts, :internal_error end EarlyDataIndication.new(max_early_data_size) end
new(max_early_data_size = nil)
click to toggle source
@param max_early_data_size
[Integer, nil]
@raise [TTTLS13::Error::ErrorAlerts]
# File lib/tttls1.3/message/extension/early_data_indication.rb, line 15 def initialize(max_early_data_size = nil) @extension_type = ExtensionType::EARLY_DATA @max_early_data_size = max_early_data_size raise Error::ErrorAlerts, :internal_error \ unless @max_early_data_size.nil? || @max_early_data_size < 2**32 end
Public Instance Methods
serialize()
click to toggle source
@return [String]
# File lib/tttls1.3/message/extension/early_data_indication.rb, line 23 def serialize binary = '' binary = @max_early_data_size.to_uint32 \ unless @max_early_data_size.nil? @extension_type + binary.prefix_uint16_length end