Class: TTTLS13::Message::Extension::ECHOuterExtensions
- Inherits:
-
Object
- Object
- TTTLS13::Message::Extension::ECHOuterExtensions
- Defined in:
- lib/tttls1.3/message/extension/ech_outer_extensions.rb
Overview
ExtensionType OuterExtensions<2..254>;
Instance Attribute Summary collapse
-
#extension_type ⇒ Object
readonly
Returns the value of attribute extension_type.
-
#outer_extensions ⇒ Object
readonly
Returns the value of attribute outer_extensions.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(outer_extensions) ⇒ ECHOuterExtensions
constructor
A new instance of ECHOuterExtensions.
- #serialize ⇒ String
Constructor Details
#initialize(outer_extensions) ⇒ ECHOuterExtensions
Returns a new instance of ECHOuterExtensions.
13 14 15 16 |
# File 'lib/tttls1.3/message/extension/ech_outer_extensions.rb', line 13 def initialize(outer_extensions) @extension_type = ExtensionType::ECH_OUTER_EXTENSIONS @outer_extensions = outer_extensions end |
Instance Attribute Details
#extension_type ⇒ Object (readonly)
Returns the value of attribute extension_type.
10 11 12 |
# File 'lib/tttls1.3/message/extension/ech_outer_extensions.rb', line 10 def extension_type @extension_type end |
#outer_extensions ⇒ Object (readonly)
Returns the value of attribute outer_extensions.
10 11 12 |
# File 'lib/tttls1.3/message/extension/ech_outer_extensions.rb', line 10 def outer_extensions @outer_extensions end |
Class Method Details
.deserialize(binary) ⇒ TTTLS13::Message::Extensions::ECHOuterExtensions
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/tttls1.3/message/extension/ech_outer_extensions.rb', line 31 def self.deserialize(binary) raise Error::ErrorAlerts, :internal_error if binary.nil? return nil if binary.length < 2 exlist_len = Convert.bin2i(binary.slice(0, 1)) i = 1 outer_extensions = [] while i < exlist_len + 1 outer_extensions << binary.slice(i, 2) i += 2 end return nil unless outer_extensions.length * 2 == exlist_len ECHOuterExtensions.new(outer_extensions) end |
Instance Method Details
#serialize ⇒ String
21 22 23 24 |
# File 'lib/tttls1.3/message/extension/ech_outer_extensions.rb', line 21 def serialize binary = @outer_extensions.join.prefix_uint8_length @extension_type + binary.prefix_uint16_length end |