diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2024-11-25 10:49:58 -0500 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2024-11-25 10:49:58 -0500 |
| commit | 1a5ab9183f2f42dcbcfa11c993d992cbfdb2b382 (patch) | |
| tree | f2277d62fc373d20de25c91e189ac4603a914b71 /src | |
| parent | 91fc4c79371249e36962eb5a257f5fec46ae5bac (diff) | |
| download | soen423-1a5ab9183f2f42dcbcfa11c993d992cbfdb2b382.zip | |
optimize CPU usage
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/derms/net/rmulticast/Heartbeat.java | 3 | ||||
| -rw-r--r-- | src/main/java/derms/net/rmulticast/Prune.java | 5 | ||||
| -rw-r--r-- | src/main/java/derms/net/rmulticast/Timeout.java | 3 | ||||
| -rw-r--r-- | src/main/java/derms/net/runicast/Retransmit.java | 3 | ||||
| -rw-r--r-- | src/main/java/derms/util/Wait.java | 18 |
5 files changed, 5 insertions, 27 deletions
diff --git a/src/main/java/derms/net/rmulticast/Heartbeat.java b/src/main/java/derms/net/rmulticast/Heartbeat.java index 166d10e..5dac49d 100644 --- a/src/main/java/derms/net/rmulticast/Heartbeat.java +++ b/src/main/java/derms/net/rmulticast/Heartbeat.java @@ -1,7 +1,6 @@ package derms.net.rmulticast; import derms.io.Serial; -import derms.util.Wait; import java.io.IOException; import java.net.InetAddress; @@ -40,7 +39,7 @@ class Heartbeat implements Runnable { public void run() { for (;;) { try { - Wait.forDuration(period); + Thread.sleep(period.toMillis()); send(); } catch (InterruptedException | ClosedChannelException e) { log.info("Shutting down."); diff --git a/src/main/java/derms/net/rmulticast/Prune.java b/src/main/java/derms/net/rmulticast/Prune.java index 77ab6a7..f585603 100644 --- a/src/main/java/derms/net/rmulticast/Prune.java +++ b/src/main/java/derms/net/rmulticast/Prune.java @@ -1,7 +1,6 @@ package derms.net.rmulticast; import derms.net.MessagePayload; -import derms.util.Wait; import java.net.InetAddress; import java.time.Duration; @@ -28,8 +27,8 @@ class Prune<T extends MessagePayload> implements Runnable { @Override public void run() { try { - for (; ; ) { - Wait.forDuration(period); + for (;;) { + Thread.sleep(period.toMillis()); prune(); } } catch (InterruptedException e) { diff --git a/src/main/java/derms/net/rmulticast/Timeout.java b/src/main/java/derms/net/rmulticast/Timeout.java index 5c47e0c..2398b5b 100644 --- a/src/main/java/derms/net/rmulticast/Timeout.java +++ b/src/main/java/derms/net/rmulticast/Timeout.java @@ -1,7 +1,6 @@ package derms.net.rmulticast; import derms.net.MessagePayload; -import derms.util.Wait; import java.time.Duration; import java.util.Set; @@ -31,7 +30,7 @@ class Timeout<T extends MessagePayload> implements Runnable { public void run() { try { for (;;) { - Wait.forDuration(timeout); + Thread.sleep(timeout.toMillis()); if (acks.contains(msg.id())) { log.info("Message " + msg.id() + "positively ack'ed."); return; diff --git a/src/main/java/derms/net/runicast/Retransmit.java b/src/main/java/derms/net/runicast/Retransmit.java index 6b8fb74..3704702 100644 --- a/src/main/java/derms/net/runicast/Retransmit.java +++ b/src/main/java/derms/net/runicast/Retransmit.java @@ -2,7 +2,6 @@ package derms.net.runicast; import derms.io.Serial; import derms.net.MessagePayload; -import derms.util.Wait; import java.io.IOException; import java.nio.ByteBuffer; @@ -33,7 +32,7 @@ class Retransmit<T extends MessagePayload> implements Runnable { public void run() { for (;;) { try { - Wait.forDuration(period); + Thread.sleep(period.toMillis()); for (Message<T> msg : sent) { if (msg.seq >= unacked.get()) { diff --git a/src/main/java/derms/util/Wait.java b/src/main/java/derms/util/Wait.java deleted file mode 100644 index f726835..0000000 --- a/src/main/java/derms/util/Wait.java +++ /dev/null @@ -1,18 +0,0 @@ -package derms.util; - -import java.time.Duration; -import java.time.Instant; - -public class Wait { - /** Yield the thread for the specified duration. */ - public static void forDuration(Duration dur) throws InterruptedException { - Instant start = Instant.now(); - Duration elapsed; - do { - Thread.yield(); - if (Thread.interrupted()) - throw new InterruptedException(); - elapsed = Duration.between(start, Instant.now()); - } while (elapsed.compareTo(dur) < 0); - } -} |