Sha256: 4362f22718a331a91a86c4f3a08059cc0b5be47ed42e772972207d216df79fc6

Contents?: true

Size: 1.2 KB

Versions: 1

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

require 'pio/open_flow10/actions'
require 'pio/open_flow10/match10'
require 'pio/open_flow10/stats_type'

module Pio
  module OpenFlow10
    # OpenFlow 1.0 FlowStats messages
    module FlowStats
      # OpenFlow 1.0 Flow Stats Reply message
      class Reply < OpenFlow::Message
        # Body of reply to Flow Stats Request.
        class FlowStatsEntry < BinData::Record
          endian :big

          uint16 :entry_length
          uint8 :table_id
          string :padding1, length: 1
          hide :padding1
          match10 :match
          uint32 :duration_sec
          uint32 :duration_nsec
          uint16 :priority
          uint16 :idle_timeout
          uint16 :hard_timeout
          string :padding2, length: 6
          hide :padding2
          uint64 :cookie
          uint64 :packet_count
          uint64 :byte_count
          actions10 :actions, length: -> { entry_length - 88 }
        end

        open_flow_header version: 1, type: 17,
                         length: -> { 12 + stats.to_binary_s.length }

        stats_type :stats_type, value: -> { :flow }
        uint16 :flags
        array :stats, type: :flow_stats_entry, read_until: :eof
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pio-0.30.2 lib/pio/open_flow10/flow_stats/reply.rb