class SNMP4EM::SnmpGetRequest
The result of calling {SNMPCommonRequests#get}.
Attributes
snmp_id[RW]
Public Instance Methods
callback(&block)
click to toggle source
Used to register a callback that is triggered when the query result is ready. The resulting object is passed as a parameter to the block.
Calls superclass method
# File lib/snmp4em/requests/snmp_get_request.rb 9 def callback &block 10 super 11 end
errback(&block)
click to toggle source
Used to register a callback that is triggered when query fails to complete successfully.
Calls superclass method
# File lib/snmp4em/requests/snmp_get_request.rb 14 def errback &block 15 super 16 end
handle_response(response)
click to toggle source
Calls superclass method
# File lib/snmp4em/requests/snmp_get_request.rb 18 def handle_response(response) # @private 19 super 20 21 if response.error_status == :noError 22 pending_oids.zip(response.varbind_list).each do |oid, response_vb| 23 oid[:response] = format_value(response_vb) 24 oid[:state] = :complete 25 end 26 27 else 28 error_oid = pending_oids[response.error_index - 1] 29 error_oid[:state] = :error 30 error_oid[:error] = SNMP::ResponseError.new(response.error_status) 31 end 32 33 if pending_oids.empty? 34 result = {} 35 36 @oids.each do |oid| 37 requested_oid = oid[:requested_string] 38 result[requested_oid] = oid[:error] || oid[:response] 39 end 40 41 succeed result 42 return 43 end 44 45 send_msg 46 end
Private Instance Methods
send_msg()
click to toggle source
Calls superclass method
# File lib/snmp4em/requests/snmp_get_request.rb 50 def send_msg 51 Manager.track_request(self) 52 53 query_oids = @oids.select{|oid| oid[:state] == :pending}.collect{|oid| oid[:requested_oid]} 54 55 vb_list = SNMP::VarBindList.new(query_oids) 56 request = SNMP::GetRequest.new(@snmp_id, vb_list) 57 message = SNMP::Message.new(@sender.version, @sender.community_ro, request) 58 59 super(message) 60 end