mergefix
This commit is contained in:
commit
108e1e181b
36
ws2012/P2P/uebungen/11/src/node/ChunkIdentifier.java
Normal file
36
ws2012/P2P/uebungen/11/src/node/ChunkIdentifier.java
Normal file
@ -0,0 +1,36 @@
|
||||
package node;
|
||||
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
public class ChunkIdentifier extends Identifier {
|
||||
|
||||
private String chunkID;
|
||||
private FileIdentifier fileID;
|
||||
|
||||
public ChunkIdentifier(int size, byte[] bytes, FileIdentifier fileID, String chunkID) {
|
||||
super(size, bytes);
|
||||
|
||||
this.fileID = fileID;
|
||||
|
||||
//calculate SHA-256 Hash of chunckID
|
||||
try {
|
||||
MessageDigest md = MessageDigest.getInstance("SHA-256");
|
||||
md.update(chunkID.getBytes());
|
||||
this.chunkID = md.digest().toString();
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public String getChunkID() {
|
||||
return this.chunkID;
|
||||
}
|
||||
|
||||
public FileIdentifier getFileID(){
|
||||
return this.fileID;
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,16 +1,28 @@
|
||||
package node;
|
||||
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
public class FileIdentifier extends Identifier {
|
||||
|
||||
private String key;
|
||||
private String fileID;
|
||||
|
||||
public FileIdentifier(int size, byte[] bytes, String key) {
|
||||
public FileIdentifier(int size, byte[] bytes, String fileID) {
|
||||
super(size, bytes);
|
||||
this.key = key;
|
||||
// TODO: key muss noch gehasht werden
|
||||
|
||||
//calculate SHA-256 Hash of key
|
||||
try {
|
||||
MessageDigest md = MessageDigest.getInstance("SHA-256");
|
||||
md.update(fileID.getBytes());
|
||||
this.fileID = md.digest().toString();
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public String getKey() {
|
||||
return this.key;
|
||||
return this.fileID;
|
||||
}
|
||||
}
|
||||
|
||||
@ -181,6 +181,15 @@ public class Node {
|
||||
new Object[] { fileID, receiver });
|
||||
}
|
||||
}
|
||||
|
||||
public void sendData(NodeIdentifier receiver, FileIdentifier fileID, ChunkIdentifier chunckID){
|
||||
|
||||
//TODO: implement
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void sendPing(NodeIdentifier receiver, MessageCallback cb) {
|
||||
boolean successful = send(receiver, MessageType.PING, null, true, cb);
|
||||
|
||||
@ -136,6 +136,10 @@ public class UDPHandler implements Runnable {
|
||||
break;
|
||||
case MessageType.DATA:
|
||||
//TODO implemnt
|
||||
|
||||
//rpcID splitten ? -> [0] fileID, [1] partID ?!?!?!
|
||||
receiveData(fromID, fileID, partID);
|
||||
|
||||
LOGGER.log(Level.INFO, "Received DATA from {0}",
|
||||
new Object[] { from.toString() });
|
||||
break;
|
||||
@ -217,6 +221,12 @@ public class UDPHandler implements Runnable {
|
||||
|
||||
private void receiveStore(NodeIdentifier fromID, Identifier rpc_id) {
|
||||
Identifier fileID = getIDFromBuffer();
|
||||
|
||||
//TODO Cast geht an dieser stelle nicht, getIDFromBuffer() müsste man für
|
||||
// FileID implementieren.
|
||||
|
||||
// warum speichern wir nicht einfach die rpc_od ???
|
||||
fileID = rpc_id;
|
||||
|
||||
System.out.println("Received store from " + fromID.toString());
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user