public void processRequest(InetSocketAddress sender, RequestType requestType, Int128 targetID, Int128 sourceID, int version ) {
switch(requestType) {
case FIND_NODE : {
List<KadContact> list = routing_table.getNearestContacts(targetID,LOOKUP_NODE_CONTACTS);
KadPacket response;
if (version==1)
response = PacketFactory.getResponsePacket(targetID, list);
else
response = PacketFactory.getResponse2Packet(targetID, list);
_network_manager.sendKadPacket(response, new IPAddress(sender), sender.getPort());
break;
}
case FIND_VALUE : {
List<KadContact> list = routing_table.getNearestContacts(targetID, SEARCH_CONTACTS);
KadPacket response;
if (version==1)
response = PacketFactory.getResponsePacket(targetID, list);
else
response = PacketFactory.getResponse2Packet(targetID, list);
_network_manager.sendKadPacket(response, new IPAddress(sender), sender.getPort());
break;
}
case STORE : {
List<KadContact> list = routing_table.getNearestContacts(targetID, PUBLISH_KEYWORD_CONTACT_COUNT);
KadPacket response;
if (version==1)
response = PacketFactory.getResponsePacket(targetID, list);
else
response = PacketFactory.getResponse2Packet(targetID, list);
_network_manager.sendKadPacket(response, new IPAddress(sender), sender.getPort());