Class: Snmpjr::Walker

Inherits:
Object
  • Object
show all
Defined in:
lib/snmpjr/walker.rb

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ Walker

Returns a new instance of Walker.



8
9
10
11
12
# File 'lib/snmpjr/walker.rb', line 8

def initialize opts = {}
  @target = opts.fetch(:target)
  @session = opts.fetch(:session)
  @tree_utils = Snmpjr::Wrappers::Util::TreeUtils.new(@session.snmp, pdu_factory)
end

Instance Method Details

#walk(oid) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/snmpjr/walker.rb', line 14

def walk oid
  begin
    @session.start
    response = @tree_utils.getSubtree(@target, oid)
  rescue Exception => e
    raise RuntimeError.new e.to_s
  ensure
    @session.close
  end
  response.flat_map {|response_event|
    check_event_for_errors(response_event)
    extract_variable_bindings(response_event.variable_bindings)
  }
end