Sha256: 44ecbfd098c070641fb83d29940eaa66efa004410c7a61abac091055c6590721

Contents?: true

Size: 1.39 KB

Versions: 13

Compression:

Stored size: 1.39 KB

Contents

require 'pio/icmp/format'
require 'forwardable'

module Pio
  class Icmp
    # Base class of Request, Reply, TTL Exceeded and destination unreachable.
    class Message
      extend Forwardable

      def_delegators :@format, :destination_mac
      def_delegators :@format, :source_mac
      def_delegators :@format, :ether_type
      def_delegators :@format, :ip_version
      def_delegators :@format, :ip_header_length
      def_delegators :@format, :ip_type_of_service
      def_delegators :@format, :ip_total_length
      def_delegators :@format, :ip_identifier
      def_delegators :@format, :ip_flag
      def_delegators :@format, :ip_fragment
      def_delegators :@format, :ip_ttl
      def_delegators :@format, :ip_protocol
      def_delegators :@format, :ip_header_checksum
      def_delegators :@format, :ip_source_address
      def_delegators :@format, :ip_destination_address
      def_delegators :@format, :icmp_type
      def_delegators :@format, :icmp_code
      def_delegators :@format, :icmp_checksum
      def_delegators :@format, :icmp_identifier
      def_delegators :@format, :icmp_sequence_number
      def_delegators :@format, :echo_data
      def_delegators :@format, :to_binary

      private_class_method :new

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

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
pio-0.15.2 lib/pio/icmp/message.rb
pio-0.15.1 lib/pio/icmp/message.rb
pio-0.15.0 lib/pio/icmp/message.rb
pio-0.14.0 lib/pio/icmp/message.rb
pio-0.13.0 lib/pio/icmp/message.rb
pio-0.12.0 lib/pio/icmp/message.rb
pio-0.11.2 lib/pio/icmp/message.rb
pio-0.11.1 lib/pio/icmp/message.rb
pio-0.11.0 lib/pio/icmp/message.rb
pio-0.10.1 lib/pio/icmp/message.rb
pio-0.10.0 lib/pio/icmp/message.rb
pio-0.9.0 lib/pio/icmp/message.rb
pio-0.8.2 lib/pio/icmp/message.rb