Sha256: 71bcdb6e016bf76255c37e14f0cd867b8ef05cc7fb648c36bf7e5747f472efab
Contents?: true
Size: 1016 Bytes
Versions: 2
Compression:
Stored size: 1016 Bytes
Contents
require 'snmpjr/wrappers/transport' require 'snmpjr/response' require 'snmpjr/target_timeout_error' class Snmpjr class Session attr_reader :snmp def initialize @snmp = Snmpjr::Wrappers::Snmp.new(Snmpjr::Wrappers::Transport::DefaultUdpTransportMapping.new) end def start @snmp.listen end def send pdu, target begin result = @snmp.send(pdu, target) rescue Exception => error raise RuntimeError.new(error) end if result.response.nil? raise Snmpjr::TargetTimeoutError.new('Request timed out') else result.response.variable_bindings.map{|vb| construct_response(vb) } end end def close @snmp.close end private def construct_response variable_binding if variable_binding.is_exception Snmpjr::Response.new(error: variable_binding.variable.to_s) else Snmpjr::Response.new(value: variable_binding.variable.to_s) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
snmpjr-0.2.1-java | lib/snmpjr/session.rb |
snmpjr-0.2.0-java | lib/snmpjr/session.rb |