Class: Melos::Struct::PreSharedKeyID

Inherits:
Base
  • Object
show all
Defined in:
lib/melos/struct/structs.rb

Overview

8.4

Constant Summary collapse

STRUCT =
[
  [:psktype, :uint8],
  [:psk_id,       :select, ->(ctx){ctx[:psktype] == Melos::Constants::PSKType::EXTERNAL}, :vec],    # external
  [:usage,        :select, ->(ctx){ctx[:psktype] == Melos::Constants::PSKType::RESUMPTION}, :uint8],  # resumption
  [:psk_group_id, :select, ->(ctx){ctx[:psktype] == Melos::Constants::PSKType::RESUMPTION}, :vec],    # resumption
  [:psk_epoch,    :select, ->(ctx){ctx[:psktype] == Melos::Constants::PSKType::RESUMPTION}, :uint64], # resumption
  [:psk_nonce, :vec]
]

Instance Attribute Summary collapse

Class Method Summary collapse

Methods inherited from Base

#deserialize_select_elem_with_context, #initialize, #raw

Constructor Details

This class inherits a constructor from Melos::Struct::Base

Instance Attribute Details

#psk_epochObject (readonly)

Returns the value of attribute psk_epoch.



295
296
297
# File 'lib/melos/struct/structs.rb', line 295

def psk_epoch
  @psk_epoch
end

#psk_group_idObject (readonly)

Returns the value of attribute psk_group_id.



295
296
297
# File 'lib/melos/struct/structs.rb', line 295

def psk_group_id
  @psk_group_id
end

#psk_idObject (readonly)

Returns the value of attribute psk_id.



295
296
297
# File 'lib/melos/struct/structs.rb', line 295

def psk_id
  @psk_id
end

#psk_nonceObject (readonly)

Returns the value of attribute psk_nonce.



295
296
297
# File 'lib/melos/struct/structs.rb', line 295

def psk_nonce
  @psk_nonce
end

#psktypeObject (readonly)

Returns the value of attribute psktype.



295
296
297
# File 'lib/melos/struct/structs.rb', line 295

def psktype
  @psktype
end

#usageObject (readonly)

Returns the value of attribute usage.



295
296
297
# File 'lib/melos/struct/structs.rb', line 295

def usage
  @usage
end

Class Method Details

.create_external(psk_id:, psk_nonce:) ⇒ Object



305
306
307
308
309
310
311
# File 'lib/melos/struct/structs.rb', line 305

def self.create_external(psk_id:, psk_nonce:)
  new_instance = self.allocate
  new_instance.instance_variable_set(:@psktype, Melos::Constants::PSKType::EXTERNAL)
  new_instance.instance_variable_set(:@psk_id, psk_id)
  new_instance.instance_variable_set(:@psk_nonce, psk_nonce)
  new_instance
end