Sha256: b65ad14a8d3a1f4e3613f501c9af5459663be770fbfa8bfd5e9359b9fcdbd211
Contents?: true
Size: 735 Bytes
Versions: 2
Compression:
Stored size: 735 Bytes
Contents
require 'pio/features/reply' require 'pio/features/request' require 'pio/open_flow' require 'pio/parse_error' module Pio # OpenFlow 1.0 Features messages class Features include Pio::OpenFlow::Type # @reek This method smells of :reek:TooManyStatements def self.read(raw_data) header = Pio::Type::OpenFlow::OpenFlowHeader.read(raw_data) klass = { FEATURES_REQUEST => Request, FEATURES_REPLY => Reply }.fetch(header.message_type) format = klass.const_get(:Format).read(raw_data) message = klass.allocate message.instance_variable_set :@format, format message rescue KeyError raise Pio::ParseError, 'Invalid features request/reply message.' end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pio-0.9.0 | lib/pio/features.rb |
pio-0.8.2 | lib/pio/features.rb |