summaryrefslogtreecommitdiffstats
path: root/src/main/java/derms
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2024-11-19 11:22:56 -0500
committerSam Anthony <sam@samanthony.xyz>2024-11-19 11:22:56 -0500
commit6f7d5674f678df8088f2b918a4cb2c8d6f291d8b (patch)
tree85d12c5eda2a8855445315d0cb39c6b1fbf136c7 /src/main/java/derms
parent2331dd6b821fd5f97196f16185698c882affe4f3 (diff)
downloadsoen423-6f7d5674f678df8088f2b918a4cb2c8d6f291d8b.zip
runicast: send initial sync in syncer loop
Diffstat (limited to 'src/main/java/derms')
-rw-r--r--src/main/java/derms/net/runicast/Connection.java6
-rw-r--r--src/main/java/derms/net/runicast/ReliableUnicast.java1
2 files changed, 2 insertions, 5 deletions
diff --git a/src/main/java/derms/net/runicast/Connection.java b/src/main/java/derms/net/runicast/Connection.java
index 034d043..534112a 100644
--- a/src/main/java/derms/net/runicast/Connection.java
+++ b/src/main/java/derms/net/runicast/Connection.java
@@ -118,6 +118,8 @@ public class Connection implements Runnable {
Instant tstart = Instant.now();
for (;;) {
try {
+ sendCtl(Type.sync, id0, 0);
+
ControlMessage msg = recvCtl(rexitTimeout);
if (msg.type == Type.ack && msg.ack != id0
|| msg.type == Type.close && msg.ack == id0) {
@@ -126,8 +128,6 @@ public class Connection implements Runnable {
} else if (msg.type == Type.sync && msg.ack == id0) {
state.set(State.established);
return;
- } else {
- continue;
}
} catch (SocketTimeoutException e) {
Duration elapsed = Duration.between(tstart, Instant.now());
@@ -135,8 +135,6 @@ public class Connection implements Runnable {
state.set(State.closed);
return;
}
- sendCtl(Type.sync, id0, 0);
- continue;
}
}
}
diff --git a/src/main/java/derms/net/runicast/ReliableUnicast.java b/src/main/java/derms/net/runicast/ReliableUnicast.java
index c7d587b..6aa4e48 100644
--- a/src/main/java/derms/net/runicast/ReliableUnicast.java
+++ b/src/main/java/derms/net/runicast/ReliableUnicast.java
@@ -19,7 +19,6 @@ public class ReliableUnicast {
int lport = sock.getLocalPort();
Connection conn = new Connection(laddr, lport, raddr, rport, sock);
- conn.sendCtl(Type.sync, conn.id0, 0);
conn.state.set(State.syncer);
conn.start();
while (conn.state.get() == State.syncer)