Class: Pio::PacketIn::DataParser
- Inherits:
-
Object
- Object
- Pio::PacketIn::DataParser
- Defined in:
- lib/pio/packet_in.rb
Overview
Pio::PacketIn#raw_data parser
Defined Under Namespace
Classes: EtherTypeParser, IPv4Packet
Class Method Summary collapse
-
.read(raw_data) ⇒ Object
rubocop:disable MethodLength.
Class Method Details
.read(raw_data) ⇒ Object
rubocop:disable MethodLength
75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/pio/packet_in.rb', line 75 def self.read(raw_data) ethernet_header = EtherTypeParser.read(raw_data) case ethernet_header.ether_type when EthernetHeader::EtherType::IPV4 IPv4Packet.read raw_data when EthernetHeader::EtherType::ARP Pio::Arp.read raw_data when EthernetHeader::EtherType::LLDP Pio::Lldp.read raw_data else fail 'Failed to parse packet_in data.' end end |