Class: PacketGen::Header::SCTP::Error

Inherits:
BinStruct::AbstractTLV
  • Object
show all
Includes:
Padded32
Defined in:
lib/packetgen/header/sctp/error.rb,
lib/packetgen/header/sctp/error.rb

Overview

Base class/factory for AbortChunk and ErrorChunk error causes

Author:

  • LemonTree55

Since:

  • 3.4.0

  • 4.1.0 No more include ErrorMixin

Constant Summary collapse

TYPES =

Error Causes/Types

Since:

  • 3.4.0

  • 4.1.0 No more include ErrorMixin

{
  'InvalidStreamId' => 1,
  'MissingMandatoryParameter' => 2,
  'StaleCookie' => 3,
  'OutOfResource' => 4,
  'UnresolvableAddress' => 5,
  'UnrecognizedChunkType' => 6,
  'InvalidMandatoryParameter' => 7,
  'UnrecognizedParameters' => 8,
  'NoUserData' => 9,
  'CookieReceivedWhileShuttingDown' => 10,
  'RestartAssociationWithNewAddress' => 11,
  'UserInitiatedAbort' => 12,
  'ProtocolViolation' => 13
}.freeze

Instance Method Summary collapse

Methods included from Padded32

#padded?, #to_s

Instance Method Details

#error_nameString

Get error name

Returns:

  • (String)

Since:

  • 3.4.0

  • 4.1.0 No more include ErrorMixin



44
45
46
# File 'lib/packetgen/header/sctp/error.rb', line 44

def error_name
  self.class.name.split('::').last.delete_suffix('Error')
end

#from_human(value) ⇒ Object

Set #value from value

Parameters:

  • value (Object)

Returns:

  • self

Since:

  • 3.4.0

  • 4.1.0 No more include ErrorMixin



57
58
59
60
61
62
63
64
# File 'lib/packetgen/header/sctp/error.rb', line 57

def from_human(value)
  if value.is_a?(self[:value].class)
    self[:value] = value
  else
    self[:value].from_human(value)
  end
  self
end

#to_humanString

Get human-readable description

Returns:

  • (String)

Since:

  • 3.4.0

  • 4.1.0 No more include ErrorMixin



50
51
52
# File 'lib/packetgen/header/sctp/error.rb', line 50

def to_human
  "<#{error_name}: #{value}>"
end