added chunkIdentifier. Every chunkIdentifier has a fileID and a chunkID

This commit is contained in:
Michael Scholz 2013-02-10 12:24:33 +01:00
parent 016c8606e1
commit 44dcd53d59
3 changed files with 50 additions and 5 deletions

View 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;
}
}

View File

@ -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;
}
}

View File

@ -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);