class OpenFlow::Protocol::Match::Wildcards
Constants
- ALL_FLAGS
- FLAGS
Public Instance Methods
get()
click to toggle source
# File lib/openflow-protocol/structs/match.rb, line 41 def get FLAGS.each_with_object(Hash.new(0)) do |(key, bit), memo| next if flags & bit == 0 if /^(ip_source|ip_destination)(\d)/ =~ key memo[$LAST_MATCH_INFO[1].to_sym] |= 1 << $LAST_MATCH_INFO[2].to_i else memo[key] = true end end end
set(value)
click to toggle source
# File lib/openflow-protocol/structs/match.rb, line 52 def set(value) value = Hash[value.map { |v| [v, true] }] if value.is_a?(Array) self.flags = value.inject(0) do |memo, (key, val)| memo | case key when :ip_source, :ip_destination (val & 31) << (key == :ip_source ? 8 : 14) else val ? FLAGS.fetch(key) : 0 end end end