def self.decode(pdu_data)
oid_data, remainder = decode_object_id(pdu_data)
enterprise = ObjectId.new(oid_data)
ip_data, remainder = decode_ip_address(remainder)
agent_addr = IpAddress.new(ip_data)
generic_trap, remainder = decode_integer(remainder)
specific_trap, remainder = decode_integer(remainder)
time_data, remainder = decode_timeticks(remainder)
timestamp = TimeTicks.new(time_data)
varbind_list, remainder = VarBindList.decode(remainder)
assert_no_remainder(remainder)
SNMPv1_Trap.new(enterprise, agent_addr, generic_trap, specific_trap,
timestamp, varbind_list)
end