# File lib/snmp/pdu.rb, line 122 def self.decode(pdu_class, pdu_data, mib=nil) request_id, remainder = decode_integer(pdu_data) error_status, remainder = decode_integer(remainder) error_index, remainder = decode_integer(remainder) varbind_list, remainder = VarBindList.decode(remainder, mib) assert_no_remainder(remainder) pdu_class.new(request_id, varbind_list, error_status, error_index) end
# File lib/snmp/pdu.rb, line 155 def initialize(request_id, varbind_list, error_status=0, error_index=0) @request_id = request_id self.error_status = error_status @error_index = error_index.to_int @varbind_list = varbind_list end
# File lib/snmp/pdu.rb, line 185 def each_varbind(&block) @varbind_list.each(&block) end
# File lib/snmp/pdu.rb, line 177 def encode_pdu(pdu_tag) pdu_data = encode_integer(@request_id) pdu_data << encode_integer(@error_status) pdu_data << encode_integer(@error_index) pdu_data << @varbind_list.encode encode_tlv(pdu_tag, pdu_data) end
# File lib/snmp/pdu.rb, line 173 def error_status ERROR_STATUS_NAME[@error_status] end
# File lib/snmp/pdu.rb, line 162 def error_status=(status) @error_status = ERROR_STATUS_CODE[status] unless @error_status if status.respond_to?(:to_int) && ERROR_STATUS_NAME[status.to_int] @error_status = status else raise InvalidErrorStatus, status.to_s end end end
Generated with the Darkfish Rdoc Generator 2.