package no.ntnu.fp.net.network.client;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingDeque;
import no.ntnu.fp.net.network.Request;
import no.ntnu.fp.net.network.Request.Method;
public class InternalReceiver implements Runnable {
//Fields
//private DataInputStream is;
//private ObjectInputStream ios;
private Socket mySocket;
private LinkedBlockingDeque<Object> testQueue;
//Constructor
public InternalReceiver(Socket mySocket, LinkedBlockingDeque<Object> testQueue){
this.mySocket = mySocket;
this.testQueue = testQueue;
}
//Methods
@Override
public void run() {
boolean running = true;
while(running){
try {
DataInputStream is = new DataInputStream(mySocket.getInputStream());
ObjectInputStream ios = new ObjectInputStream(is);
Object obj = ios.readObject();
System.out.println("Got data");
testQueue.putFirst(obj);
} catch (IOException e) {
// TODO Auto-generated catch block
running = false;
//e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}