Module: PacketGen::Header::HeaderClassMethods

Included in:
ARP, Eth, ICMP, IP, IPv6, UDP
Defined in:
lib/packetgen/header/header_class_methods.rb

Defined Under Namespace

Classes: Binding

Instance Method Summary collapse

Instance Method Details

#bind_header(header_klass, args = {}) ⇒ void

This method returns an undefined value.

Bind a upper header to current class

Parameters:

  • header_klass (Class)

    header class to bind to current class

  • args (Hash) (defaults to: {})

    current class field and its value when header_klass is embedded in current class



14
15
16
17
18
# File 'lib/packetgen/header/header_class_methods.rb', line 14

def bind_header(header_klass, args={})
  @known_headers ||= {}
  key = args.keys.first
  @known_headers[header_klass] = Binding.new(key, args[key])
end

#known_headersHash

Get knwon headers

Returns:

  • (Hash)

    keys: header classes, values: struct with methods #key and #value



22
23
24
# File 'lib/packetgen/header/header_class_methods.rb', line 22

def known_headers
  @known_headers ||= {}
end