Sha256: b926f5d865d68a5529a8db9aa65f38ef2ee9005df74ed92ea6ba2d9a24f80d31
Contents?: true
Size: 1.15 KB
Versions: 4
Compression:
Stored size: 1.15 KB
Contents
require 'pio/open_flow/format' require 'pio/open_flow/message' module Pio module OpenFlow # Base class of Echo Request and Reply. class Echo < OpenFlow::Message # rubocop:disable MethodLength def self.inherited(child) child.module_eval <<-EOS class Format < BinData::Record extend OpenFlow::Format header version: :of_version, message_type: :of_message_type string :body, read_length: -> { message_length - header_length } def user_data body end end EOS end # rubocop:enable MethodLength def self.version(version) const_get(:Format).tap do |klass| klass.__send__(:define_method, :of_version) { version } klass.class_eval { private :of_version } end end def self.message_type(message_type) const_get(:Format).tap do |klass| klass.__send__(:define_method, :of_message_type) { message_type } klass.class_eval { private :of_message_type } end end body_option :body body_option :user_data end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
pio-0.25.0 | lib/pio/open_flow/echo.rb |
pio-0.24.2 | lib/pio/open_flow/echo.rb |
pio-0.24.1 | lib/pio/open_flow/echo.rb |
pio-0.24.0 | lib/pio/open_flow/echo.rb |