Class: Pio::Lldp

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/pio/lldp.rb,
lib/pio/lldp/frame.rb,
lib/pio/lldp/options.rb,
lib/pio/lldp/ttl_tlv.rb,
lib/pio/lldp/port_id_tlv.rb,
lib/pio/lldp/optional_tlv.rb,
lib/pio/lldp/chassis_id_tlv.rb,
lib/pio/lldp/system_name_value.rb,
lib/pio/lldp/end_of_lldpdu_value.rb,
lib/pio/lldp/port_description_value.rb,
lib/pio/lldp/management_address_value.rb,
lib/pio/lldp/system_description_value.rb,
lib/pio/lldp/system_capabilities_value.rb,
lib/pio/lldp/organizationally_specific_value.rb

Overview

LLDP frame parser and generator.

Defined Under Namespace

Classes: ChassisIdTlv, EndOfLldpduValue, Frame, ManagementAddressValue, OptionalTlv, Options, OrganizationallySpecificValue, PortDescriptionValue, PortIdTlv, SystemCapabilitiesValue, SystemDescriptionValue, SystemNameValue, TtlTlv

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Lldp

Returns a new instance of Lldp.



42
43
44
# File 'lib/pio/lldp.rb', line 42

def initialize(options)
  @frame = Frame.new(Options.new(options).to_hash)
end

Class Method Details

.read(raw_data) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/pio/lldp.rb', line 30

def self.read(raw_data)
  begin
    frame = Frame.read(raw_data)
  rescue
    raise Pio::ParseError, $ERROR_INFO.message
  end

  lldp = allocate
  lldp.instance_variable_set :@frame, frame
  lldp
end

Instance Method Details

#port_numberObject



46
47
48
# File 'lib/pio/lldp.rb', line 46

def port_number
  @frame.port_id.get.snapshot
end

#to_binaryObject



50
51
52
# File 'lib/pio/lldp.rb', line 50

def to_binary
  @frame.to_binary_s + "\000" * (64 - @frame.num_bytes)
end