Module: OSPFv2::Tlv
- Included in:
- Link_Tlv, SubTlv, TrafficEngineering
- Defined in:
- lib/lsa/tlv/tlv.rb,
lib/lsa/tlv/tlv_factory.rb
Defined Under Namespace
Modules: Common
Class Method Summary collapse
Class Method Details
.factory(arg = {}) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/lsa/tlv/tlv_factory.rb', line 15 def self.factory(arg={}) type=0 case arg when Hash return nil unless arg.has_key?(:tlv_type) type = arg[:tlv_type] when String type = arg.unpack('n')[0] return nil unless type else raise end case type when 1 ; OSPFv2::RouterAddress_Tlv.new(arg.dup) when 2 ; OSPFv2::Link_Tlv.new(arg.dup) else raise end end |