code: func handleError(dht *DHT, addr *net.UDPAddr,
  	response map[string]interface{}) (success bool) {
  
  	if err := ParseKey(response, "e", "list"); err != nil {
  		return
  	}
  
  	if e := response["e"].([]interface{}); len(e) != 2 {
  		return
  	}
  
  	if trans := dht.transactionManager.filterOne(
  		response["t"].(string), addr); trans != nil {
  
  		trans.response <- struct{}{}
  	}
  
  	return true
  }
docs: // handleError handles errors received from udp.