diff --git a/ws2012/P2P/uebungen/11/src/node/ChunkIdentifier.java b/ws2012/P2P/uebungen/11/src/node/ChunkIdentifier.java new file mode 100644 index 00000000..3bc9143f --- /dev/null +++ b/ws2012/P2P/uebungen/11/src/node/ChunkIdentifier.java @@ -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; + } + +} diff --git a/ws2012/P2P/uebungen/11/src/node/FileIdentifier.java b/ws2012/P2P/uebungen/11/src/node/FileIdentifier.java index 470390a2..bd5cdef1 100644 --- a/ws2012/P2P/uebungen/11/src/node/FileIdentifier.java +++ b/ws2012/P2P/uebungen/11/src/node/FileIdentifier.java @@ -5,16 +5,16 @@ 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); //calculate SHA-256 Hash of key try { MessageDigest md = MessageDigest.getInstance("SHA-256"); - md.update(key.getBytes()); - this.key = md.digest().toString(); + md.update(fileID.getBytes()); + this.fileID = md.digest().toString(); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -23,6 +23,6 @@ public class FileIdentifier extends Identifier { } public String getKey() { - return this.key; + return this.fileID; } } diff --git a/ws2012/P2P/uebungen/11/src/node/Node.java b/ws2012/P2P/uebungen/11/src/node/Node.java index a9a53e76..eb92b7b0 100644 --- a/ws2012/P2P/uebungen/11/src/node/Node.java +++ b/ws2012/P2P/uebungen/11/src/node/Node.java @@ -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);