commented out the problematic buffering functionality #story[923]

This commit is contained in:
Peter Galloway
2017-05-10 13:58:10 +12:00
parent 2cb09b81f8
commit 6d7697a0eb
2 changed files with 33 additions and 32 deletions
@@ -69,6 +69,7 @@ public class CanvasController {
private int frameTimeIndex = 0; private int frameTimeIndex = 0;
private boolean arrayFilled = false; private boolean arrayFilled = false;
private DecimalFormat decimalFormat2dp = new DecimalFormat("0.00"); private DecimalFormat decimalFormat2dp = new DecimalFormat("0.00");
private double lastPacketTime = 0;
public AnimationTimer timer; public AnimationTimer timer;
@@ -245,27 +246,27 @@ public class CanvasController {
private void move(long id, RaceObject raceObject){ private void move(long id, RaceObject raceObject){
PriorityBlockingQueue<BoatPositionPacket> movementQueue = StreamParser.boatPositions.get(id); PriorityBlockingQueue<BoatPositionPacket> movementQueue = StreamParser.boatPositions.get(id);
if (movementQueue.size() > 0){ if (movementQueue.size() > 0){
BoatPositionPacket positionPacket = movementQueue.peek(); // BoatPositionPacket positionPacket = movementQueue.peek();
//
//this code adds a delay to reading from the movementQueue // //this code adds a delay to reading from the movementQueue
//in case things being put into the movement queue are slightly // //in case things being put into the movement queue are slightly
//out of order // //out of order
int delayTime = 1000; // int delayTime = 1000;
int loopTime = delayTime * 10; // int loopTime = delayTime * 10;
long timeDiff = (System.currentTimeMillis()%loopTime - positionPacket.getTimeValid()%loopTime); // long timeDiff = (System.currentTimeMillis()%loopTime - positionPacket.getTimeValid()%loopTime);
if (timeDiff < 0){ // if (timeDiff < 0){
timeDiff = loopTime + timeDiff; // timeDiff = loopTime + timeDiff;
} // }
if (timeDiff > delayTime) { // if (timeDiff > delayTime) {
try { try {
positionPacket = movementQueue.take(); BoatPositionPacket positionPacket = movementQueue.take();
Point2D p2d = latLonToXY(positionPacket.getLat(), positionPacket.getLon()); Point2D p2d = latLonToXY(positionPacket.getLat(), positionPacket.getLon());
double heading = 360.0 / 0xffff * positionPacket.getHeading(); double heading = 360.0 / 0xffff * positionPacket.getHeading();
raceObject.setDestination(p2d.getX(), p2d.getY(), heading, positionPacket.getGroundSpeed(), (int) id); raceObject.setDestination(p2d.getX(), p2d.getY(), heading, positionPacket.getGroundSpeed(), (int) id);
} catch (InterruptedException e){ } catch (InterruptedException e){
e.printStackTrace(); e.printStackTrace();
}
} }
// }
} }
} }
@@ -69,21 +69,21 @@ public class StreamParser extends Thread{
StreamPacket packet = StreamReceiver.packetBuffer.peek(); StreamPacket packet = StreamReceiver.packetBuffer.peek();
//this code adds a delay to reading from the packetBuffer so //this code adds a delay to reading from the packetBuffer so
//out of order packets have time to order themselves in the queue //out of order packets have time to order themselves in the queue
int delayTime = 1000; // int delayTime = 1000;
int loopTime = delayTime * 10; // int loopTime = delayTime * 10;
long transitTime = (System.currentTimeMillis()%loopTime - packet.getTimeStamp()%loopTime); // long transitTime = (System.currentTimeMillis()%loopTime - packet.getTimeStamp()%loopTime);
if (transitTime < 0){ // if (transitTime < 0){
transitTime = loopTime + transitTime; // transitTime = loopTime + transitTime;
} // }
if (transitTime < delayTime) { // if (transitTime < delayTime) {
long sleepTime = delayTime - (transitTime); // long sleepTime = delayTime - (transitTime);
Thread.sleep(sleepTime); // Thread.sleep(sleepTime);
} // }
packet = StreamReceiver.packetBuffer.take(); packet = StreamReceiver.packetBuffer.take();
parsePacket(packet); parsePacket(packet);
Thread.sleep(1); // Thread.sleep(1);
while (StreamReceiver.packetBuffer.peek() == null) { while (StreamReceiver.packetBuffer.peek() == null) {
Thread.sleep(1); // Thread.sleep(1);
} }
} }
} catch (Exception e){ } catch (Exception e){