void Handle (DHT& dht, const Host&, const Packet& pckt) { Key k = pckt.GetArg<Key>(DHT_GET_ACK_KEY); Data *data = pckt.GetArg<Data*>(DHT_GET_ACK_DATA); pf_log[W_DHT] << "Received data with key " << k; pf_log[W_DHT] << data->GetStr(); try { dht.GetStorage()->addInfo(k, data); } catch(Storage::WrongDataType e) { pf_log[W_DHT] << "Asked to store wrong data type, data not stored."; return; } pf_log[W_DHT] << "Data stored locally."; /* Send data to upper layer. */ dht.GetArbore()->DataCallback(k, data); }