From 42ac733d7277b2bd96f8f24678457f89e36af83b Mon Sep 17 00:00:00 2001 From: Connor Taylor-Brown Date: Fri, 1 Sep 2017 11:57:24 +1200 Subject: [PATCH] Flush match table on a scheduled rate. #story[1196] --- .../networkInterface/NetworkInterface.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/matchBrowser/src/main/java/networkInterface/NetworkInterface.java b/matchBrowser/src/main/java/networkInterface/NetworkInterface.java index 64a6aa9d..b97c1fa3 100644 --- a/matchBrowser/src/main/java/networkInterface/NetworkInterface.java +++ b/matchBrowser/src/main/java/networkInterface/NetworkInterface.java @@ -47,6 +47,7 @@ public class NetworkInterface { this.serverSocket = new DatagramSocket(3779); startBroadcast(10000); + scheduleFlush(300000); this.run(); } catch (IOException e) { System.err.println("Error listening on port: " + this.serverSocket.getLocalPort() + "."); @@ -55,6 +56,10 @@ public class NetworkInterface { } + /** + * Broadcasts match table to clients at a requested interval + * @param period interval to broadcast table + */ private void startBroadcast(int period) { scheduler.scheduleAtFixedRate(new TimerTask() { @Override @@ -79,6 +84,19 @@ public class NetworkInterface { }, period, period); } + /** + * Flushes the match table at a requested interval + * @param period interval to flush table + */ + private void scheduleFlush(int period) { + scheduler.scheduleAtFixedRate(new TimerTask() { + @Override + public void run() { + matchTable.getMatchTable().clear(); + } + }, period, period); + } + private void run() throws IOException{ while(true) { DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);