update send date stuff
This commit is contained in:
parent
b7131cc41e
commit
f3793804bf
@ -401,6 +401,8 @@ public class Node {
|
||||
|
||||
int FILE_SIZE = (int)file.length();
|
||||
|
||||
boolean eof = false;
|
||||
|
||||
int NUMBER_OF_CHUNKS = 0;
|
||||
byte[] temp = null;
|
||||
|
||||
@ -414,7 +416,8 @@ public class Node {
|
||||
while(totalBytesRead < FILE_SIZE){
|
||||
int bytesReamaining = FILE_SIZE-totalBytesRead;
|
||||
if(bytesReamaining < CHUNK_SIZE){
|
||||
CHUNK_SIZE = bytesReamaining;
|
||||
CHUNK_SIZE = bytesReamaining+1;
|
||||
eof = true;
|
||||
}
|
||||
temp = new byte[CHUNK_SIZE];
|
||||
int bytesRead = inStream.read(temp, 0, CHUNK_SIZE);
|
||||
@ -424,8 +427,16 @@ public class Node {
|
||||
NUMBER_OF_CHUNKS++;
|
||||
}
|
||||
|
||||
|
||||
//send chunk
|
||||
String data = fileID.toString()+"|"+NUMBER_OF_CHUNKS+"-"+temp.toString();
|
||||
|
||||
String data = "";
|
||||
|
||||
if(eof){
|
||||
data = fileID.toString()+"|"+NUMBER_OF_CHUNKS+"-"+temp.toString()+"!";
|
||||
}else{
|
||||
data = fileID.toString()+"|"+NUMBER_OF_CHUNKS+"-"+temp.toString();
|
||||
}
|
||||
|
||||
send(nodeID, MessageType.DATA, data.getBytes(), true, null);
|
||||
|
||||
|
||||
@ -130,11 +130,7 @@ public class UDPHandler implements Runnable {
|
||||
receiveStore(fromID, rpcID);
|
||||
break;
|
||||
case MessageType.DATA:
|
||||
//TODO implemnt
|
||||
|
||||
//rpcID splitten ? -> [0] fileID, [1] partID ?!?!?!
|
||||
receiveData(fromID, fileID, partID);
|
||||
|
||||
receiveData(fromID, rpcID);
|
||||
LOGGER.log(Level.INFO, "Received DATA from {0}",
|
||||
new Object[] { from.toString() });
|
||||
break;
|
||||
@ -168,7 +164,34 @@ public class UDPHandler implements Runnable {
|
||||
}
|
||||
}
|
||||
|
||||
private void receivePong(NodeIdentifier fromID, Identifier rpcID) {
|
||||
|
||||
|
||||
|
||||
private void receiveData(NodeIdentifier fromID, Identifier rpcID) {
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
while (buffer.hasRemaining()) {
|
||||
sb.append(buffer.get());
|
||||
}
|
||||
|
||||
String data = sb.toString();
|
||||
|
||||
String parts[] = data.split("-");
|
||||
|
||||
|
||||
|
||||
|
||||
// This should be the answer to a prior FIND_NODE -> mark this RPC ID as
|
||||
// received
|
||||
node.receivedRPC(fromID, rpcID);
|
||||
|
||||
LOGGER.log(Level.INFO, "Received [DATA] [{0}] from Node {1})",
|
||||
new Object[] { data.toString(), fromID });
|
||||
|
||||
}
|
||||
|
||||
private void receivePong(NodeIdentifier fromID, Identifier rpcID) {
|
||||
LOGGER.log(Level.INFO, "Received [PONG] from {0}",
|
||||
new Object[] { fromID });
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user