Class: Pio::Parser
- Inherits:
-
Object
- Object
- Pio::Parser
- Defined in:
- lib/pio/parser.rb
Overview
Raw data parser.
Defined Under Namespace
Classes: EthernetFrame, IPv4Packet
Class Method Summary collapse
-
.read(raw_data) ⇒ Object
rubocop:disable MethodLength.
Class Method Details
.read(raw_data) ⇒ Object
rubocop:disable MethodLength
33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/pio/parser.rb', line 33 def self.read(raw_data) ethernet_frame = EthernetFrame.read(raw_data) case ethernet_frame.ether_type when EthernetHeader::EtherType::IPV4, EthernetHeader::EtherType::VLAN IPv4Packet.read raw_data when EthernetHeader::EtherType::ARP Pio::Arp.read raw_data when EthernetHeader::EtherType::LLDP Pio::Lldp.read raw_data else ethernet_frame end end |