Files
allwpilib/driver-station/src/main/java/edu/wpi/first/driverstation/ReadThread.java
Fredric Silberberg 12e811250b Driver Station
Added a java implementation of the FRC Network Communication
Protocol. The majority of network related code was written by
Brendan McLeod, and I have adapted a front end that listens for
input from standard input.

Change-Id: Id9e4d5b52425e56bf8a848b17390fb83b9e75d29
2014-05-12 15:33:54 -04:00

43 lines
1021 B
Java

package edu.wpi.first.driverstation;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ReadThread implements Runnable {
private final Logger log = Logger.getLogger(DriverStation.class.getName());
Socket sock;
DriverStation ds;
public ReadThread(Socket sock, DriverStation ds) {
this.sock = sock;
this.ds = ds;
}
@Override
public void run() {
try {
BufferedReader netIn = new BufferedReader(new InputStreamReader(
sock.getInputStream()));
while (!Thread.interrupted()) {
String com = netIn.readLine();
log.log(Level.FINE, "Received command " + com);
ds.addCommand(com);
}
} catch (IOException e) {
log.log(Level.WARNING, "IO Exception in net thread", e);
} finally {
try {
sock.close();
} catch (IOException | NullPointerException ex) {
log.log(Level.SEVERE, "Error when closing the socket", ex);
}
}
}
}