Sha256: 94b4af780aa2164921168b391091281c650baea5dd40e8819c348676c92c3b82

Contents?: true

Size: 555 Bytes

Versions: 7

Compression:

Stored size: 555 Bytes

Contents

require "rubygems"
require "bindata"

require "pio/arp/request"
require "pio/arp/reply"


module Pio
  # ARP parser and generator.
  class Arp
    ARP_MESSAGE_TYPE = { Request::OPERATION => Request, Reply::OPERATION => Reply }


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

      ARP_MESSAGE_TYPE[ frame.operation ].create_from frame
    end
  end
end


### Local variables:
### mode: Ruby
### coding: utf-8-unix
### indent-tabs-mode: nil
### End:

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pio-0.2.7 lib/pio/arp.rb
pio-0.2.6 lib/pio/arp.rb
pio-0.2.5 lib/pio/arp.rb
pio-0.2.4 lib/pio/arp.rb
pio-0.2.3 lib/pio/arp.rb
pio-0.2.2 lib/pio/arp.rb
pio-0.2.1 lib/pio/arp.rb