Class: PacketGen::Header::SCTP::Parameter
- Inherits:
-
BinStruct::AbstractTLV
- Object
- BinStruct::AbstractTLV
- PacketGen::Header::SCTP::Parameter
- Includes:
- Padded32
- Defined in:
- lib/packetgen/header/sctp/parameter.rb,
lib/packetgen/header/sctp/parameter.rb
Overview
Base class/factory for InitChunk and InitAckChunk parameters
Direct Known Subclasses
CookiePreservativeParameter, ECNParameter, HostnameParameter, IPv4Parameter, IPv6Parameter, StateCookieParameter, SupportedAddrTypesParameter, UnrecognizedParameter
Constant Summary collapse
- TYPES =
Paramter Types
{ 'IPv4' => 5, 'IPv6' => 6, 'StateCookie' => 7, 'Unrecognized' => 8, 'CookiePreservative' => 9, 'Hostname' => 11, 'SupportedAddrTypes' => 12, 'ECN' => 32_768 }.freeze
Instance Method Summary collapse
-
#from_human(value) ⇒ Object
Populate parameter from a human-readable string or a Parameter.
-
#parameter_name ⇒ String
Get parameter name.
-
#to_human ⇒ ::String
Get human-readable descriptiob.
Methods included from Padded32
Instance Method Details
#from_human(value) ⇒ Object
Populate parameter from a human-readable string or a Parameter.
50 51 52 53 54 55 56 |
# File 'lib/packetgen/header/sctp/parameter.rb', line 50 def from_human(value) if value.is_a?(self[:value].class) self[:value] = value else self[:value].from_human(value) end end |
#parameter_name ⇒ String
Get parameter name
60 61 62 |
# File 'lib/packetgen/header/sctp/parameter.rb', line 60 def parameter_name self.class.name.split('::').last.delete_suffix('Parameter') end |
#to_human ⇒ ::String
Get human-readable descriptiob
39 40 41 42 43 44 45 46 |
# File 'lib/packetgen/header/sctp/parameter.rb', line 39 def to_human value = if self[:value].is_a?(BinStruct::String) self[:value].inspect else self[:value].to_human end "<#{human_type}: #{value}>" end |