Add more net code
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package com.flaremicro.crossjeeves.net;
|
||||
|
||||
import static com.flaremicro.crossjeeves.net.ErrorCodes.FILE_DOWNLOAD_FAILURE;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
@@ -12,8 +14,9 @@ import com.flaremicro.crossjeeves.net.packet.Packet127KeepAlive;
|
||||
import com.flaremicro.crossjeeves.net.packet.Packet1Status;
|
||||
import com.flaremicro.crossjeeves.net.packet.Packet2Script;
|
||||
import com.flaremicro.crossjeeves.net.packet.Packet3Clone;
|
||||
import com.flaremicro.crossjeeves.net.packet.Packet5Artifact;
|
||||
import com.flaremicro.crossjeeves.net.packet.Packet4FileData;
|
||||
import com.flaremicro.crossjeeves.net.packet.Packet5Artifact;
|
||||
import com.flaremicro.crossjeeves.net.packet.Packet6Disconnect;
|
||||
import com.flaremicro.util.Util;
|
||||
import com.flaremicro.util.ZipUtils;
|
||||
|
||||
@@ -26,53 +29,53 @@ public class ClientHandler extends NetworkHandler {
|
||||
@Override
|
||||
public void handlePacket(Packet packet) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePacket(Packet0Identify packet) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePacket(Packet1Status packet) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePacket(Packet2Script packet) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePacket(Packet3Clone packet) {
|
||||
long fileId = packet.getFileID();
|
||||
String workspace = System.getenv("WORKSPACE");
|
||||
if(workspace == null || workspace.trim().length() <= 0)
|
||||
if (workspace == null || workspace.trim().length() <= 0)
|
||||
{
|
||||
//disconnect
|
||||
}
|
||||
BufferedInputStream fileStream = null;
|
||||
try
|
||||
{
|
||||
File workspaceZip = File.createTempFile("workspace-"+fileId, ".zip");
|
||||
File workspaceZip = File.createTempFile("workspace-" + fileId, ".zip");
|
||||
ZipUtils.zipDirectory(new File(workspace), workspaceZip);
|
||||
packet = new Packet3Clone(fileId, workspaceZip.length());
|
||||
enqueue(packet);
|
||||
fileStream = new BufferedInputStream(new FileInputStream(workspaceZip));
|
||||
int read;
|
||||
byte[] buffer = new byte[4096];
|
||||
while((read = fileStream.read(buffer)) > -1)
|
||||
while ((read = fileStream.read(buffer)) > -1)
|
||||
{
|
||||
if(read == 0)
|
||||
if (read == 0)
|
||||
continue;
|
||||
Packet4FileData dataPacket = new Packet4FileData(fileId, (short)read, buffer);
|
||||
Packet4FileData dataPacket = new Packet4FileData(fileId, (short) read, buffer);
|
||||
enqueue(dataPacket);
|
||||
}
|
||||
enqueue(new Packet4FileData(fileId, (short)0, new byte[]{}));
|
||||
enqueue(new Packet4FileData(fileId, (short) 0, new byte[] {}));
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
@@ -87,20 +90,33 @@ public class ClientHandler extends NetworkHandler {
|
||||
|
||||
@Override
|
||||
public void handlePacket(Packet4FileData packet) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
try
|
||||
{
|
||||
this.appendFile(packet.getFileId(), packet.getFileChunk());
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
disconnect(FILE_DOWNLOAD_FAILURE, "Failed to download transferred file");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePacket(Packet5Artifact packet) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePacket(Packet127KeepAlive packet) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePacket(Packet6Disconnect packet) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user