implemented more store-functionality
This commit is contained in:
parent
41c5c62dc6
commit
2aa02ccd53
@ -1,8 +1,10 @@
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.util.logging.LogManager;
|
||||
|
||||
import node.Identifier;
|
||||
import node.Node;
|
||||
import node.NodeIdentifier;
|
||||
|
||||
@ -45,6 +47,12 @@ public class CLI {
|
||||
case "leave":
|
||||
node.leave();
|
||||
break;
|
||||
case "store":
|
||||
// TODO not implemented
|
||||
// Zum testen:
|
||||
Identifier fileID = new Identifier(8, Identifier.getStaticIdentifier(8).getBytes());
|
||||
node.store(fileID);
|
||||
break;
|
||||
default:
|
||||
System.out.println("Unknown command.");
|
||||
break;
|
||||
|
||||
@ -313,13 +313,21 @@ public class Node {
|
||||
return routingTable.getEntries();
|
||||
}
|
||||
|
||||
public void StorePair(Identifier key, NodeIdentifier id) {
|
||||
public void storePair(Identifier key, NodeIdentifier id) {
|
||||
System.out.println(values.size());
|
||||
System.out.println(key.toString());
|
||||
values.put(key, id);
|
||||
System.out.println(values.size());
|
||||
}
|
||||
|
||||
public void store(Identifier key) {
|
||||
Set<NodeIdentifier> nodes = routingTable.getClosestNodesTo(key);
|
||||
|
||||
for(NodeIdentifier node: nodes) {
|
||||
sendStore(node, key);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean hasKey(Identifier key) {
|
||||
return values.containsKey(key);
|
||||
}
|
||||
|
||||
@ -216,11 +216,11 @@ public class UDPHandler implements Runnable {
|
||||
}
|
||||
|
||||
private void receiveStore(NodeIdentifier fromID, Identifier rpc_id) {
|
||||
//TODO Cast geht an dieser stelle nicht, getIDFromBuffer() müsste man für
|
||||
// FileID implementieren.
|
||||
Identifier fileID = getIDFromBuffer();
|
||||
|
||||
node.StorePair(fileID, fromID);
|
||||
System.out.println("Received store from " + fromID.toString());
|
||||
|
||||
node.storePair(fileID, fromID);
|
||||
}
|
||||
|
||||
public void terminate() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user