Sha256: 1123eb217ef1d1c1ed0b1283c19f960e0cf5a7c4db09d7c60090ac60a3906b62

Contents?: true

Size: 748 Bytes

Versions: 7

Compression:

Stored size: 748 Bytes

Contents

require 'bindata'
require 'pio/open_flow'

module Pio
  # OpenFlow 1.0 Packet-Out message
  class PacketOut < OpenFlow::Message.factory(OpenFlow::Type::PACKET_OUT)
    # Message body of Packet-Out
    class PacketOutBody < BinData::Record
      endian :big

      uint32 :buffer_id
      uint16 :in_port
      uint16 :actions_len, initial_value: -> { actions.binary.length }
      actions :actions, length: -> { actions_len }
      rest :data

      def empty?
        false
      end

      def length
        8 + actions_len + data.length
      end
    end

    def_delegators :body, :buffer_id
    def_delegators :body, :in_port
    def_delegators :body, :actions_len
    def_delegators :body, :actions
    def_delegators :body, :data
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pio-0.15.0 lib/pio/packet_out.rb
pio-0.14.0 lib/pio/packet_out.rb
pio-0.13.0 lib/pio/packet_out.rb
pio-0.12.0 lib/pio/packet_out.rb
pio-0.11.2 lib/pio/packet_out.rb
pio-0.11.1 lib/pio/packet_out.rb
pio-0.11.0 lib/pio/packet_out.rb