added chunkIdentifier. Every chunkIdentifier has a fileID and a chunkID
This commit is contained in:
parent
016c8606e1
commit
44dcd53d59
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;
|
||||
}
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user