class Snmp2mkr::Snmp
Wrapper of SNMP::Manager for future implementation change
Attributes
mib[R]
Public Class Methods
default_mib()
click to toggle source
# File lib/snmp2mkr/snmp.rb, line 11 def self.default_mib; @default_mib ||= Mib.new; end
default_mib=(o)
click to toggle source
# File lib/snmp2mkr/snmp.rb, line 12 def self.default_mib=(o); @default_mib = o; end
open(*args) { |conn| ... }
click to toggle source
# File lib/snmp2mkr/snmp.rb, line 14 def self.open(*args) conn = new(*args) return conn unless block_given? begin yield conn ensure conn.close end end
Public Instance Methods
close()
click to toggle source
# File lib/snmp2mkr/snmp.rb, line 32 def close @manager.close @manager = nil end
closed?()
click to toggle source
# File lib/snmp2mkr/snmp.rb, line 37 def closed? @manager.nil? end
get(*oids_) { |varbind(oid(name.to_a, mib: mib), value)| ... }
click to toggle source
# File lib/snmp2mkr/snmp.rb, line 41 def get(*oids_) raise Closed if closed? return to_enum(__method__, *oids_) unless block_given? oids = oids_.flatten.map(&:to_s) oids.each_slice(8) do |slice| @manager.get(slice).varbind_list.each do |varbind| yield Varbind.new(Snmp2mkr::Oid.new(varbind.name.to_a, mib: mib), varbind.value) end end end
subtree(oid_) { |vb| ... }
click to toggle source
# File lib/snmp2mkr/snmp.rb, line 53 def subtree(oid_) raise Closed if closed? return to_enum(__method__, oid_) unless block_given? oid = oid_.kind_of?(Snmp2mkr::Oid) ? oid_ : Snmp2mkr::Oid.new(mib.name_to_oid(oid_), name: oid_.to_s) pointer = oid while pointer @manager.get_bulk(0, 20, pointer.to_s).varbind_list.each do |varbind| if varbind == SNMP::EndOfMibView pointer = nil break end vb = Varbind.new(Snmp2mkr::Oid.new(varbind.name.to_a, mib: mib), varbind.value) unless oid.subtree?(vb.oid) pointer = nil break end yield vb pointer = vb.oid end end nil end