Sha256: 0b4756d0e23958d1dda99daf5661d71d1de1b1c9760068b8c79e5b9e9fddbd59

Contents?: true

Size: 1013 Bytes

Versions: 7

Compression:

Stored size: 1013 Bytes

Contents

require 'forwardable'
require 'pio/arp/format'

module Pio
  class Arp
    # Base class of ARP Request and Reply
    class Message
      extend Forwardable

      def_delegators :@format, :destination_mac
      def_delegators :@format, :source_mac
      def_delegators :@format, :ether_type
      def_delegators :@format, :hardware_type
      def_delegators :@format, :protocol_type
      def_delegators :@format, :hardware_length
      def_delegators :@format, :protocol_length
      def_delegators :@format, :operation
      def_delegators :@format, :sender_hardware_address
      def_delegators :@format, :sender_protocol_address
      def_delegators :@format, :target_hardware_address
      def_delegators :@format, :target_protocol_address
      def_delegators :@format, :to_binary

      private_class_method :new

      def initialize(user_options)
        options = self.class.const_get(:Options).new(user_options.dup.freeze)
        @format = Arp::Format.new(options.to_hash)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pio-0.11.2 lib/pio/arp/message.rb
pio-0.11.1 lib/pio/arp/message.rb
pio-0.11.0 lib/pio/arp/message.rb
pio-0.10.1 lib/pio/arp/message.rb
pio-0.10.0 lib/pio/arp/message.rb
pio-0.9.0 lib/pio/arp/message.rb
pio-0.8.2 lib/pio/arp/message.rb