summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2024-11-25 10:49:58 -0500
committerSam Anthony <sam@samanthony.xyz>2024-11-25 10:49:58 -0500
commit1a5ab9183f2f42dcbcfa11c993d992cbfdb2b382 (patch)
treef2277d62fc373d20de25c91e189ac4603a914b71 /src
parent91fc4c79371249e36962eb5a257f5fec46ae5bac (diff)
downloadsoen423-1a5ab9183f2f42dcbcfa11c993d992cbfdb2b382.zip
optimize CPU usage
Diffstat (limited to 'src')
-rw-r--r--src/main/java/derms/net/rmulticast/Heartbeat.java3
-rw-r--r--src/main/java/derms/net/rmulticast/Prune.java5
-rw-r--r--src/main/java/derms/net/rmulticast/Timeout.java3
-rw-r--r--src/main/java/derms/net/runicast/Retransmit.java3
-rw-r--r--src/main/java/derms/util/Wait.java18
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);
- }
-}