fix(core): a learned RIP route expires at its time and is announced at once
Java's RIPTable.check marks an expired route only at the router's next beacon, up to some 35 s late. The engine schedules each router's first expiry, marks the route with 16 hops at that time and sends its table at once, as after any change (better than Java where Java only samples, decided 01.10.2026). ripJava's expire story is compared up to the expiry and then checks that R2 marks the route at its time and R1 a cable later. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -371,6 +371,10 @@ Gemessen (30.09.2026, dazu die Pausenformel am JDK):
|
||||
nach dem Verfallen (`RIPTable.check`): R3s Netz verfiel bei R2 nach rund
|
||||
76,4 s, R2 setzte es bei seinem Beacon um 86,7 s auf 16; R1 hörte die 16 vom
|
||||
selben Router und meldete sofort. Der Ping bekommt dann ICMP 3/0 von R1.
|
||||
Der Kern setzt die Route seit 01.10.2026 genau beim Verfallen auf 16 und
|
||||
meldet sofort (besser als Java, wo Java nur bei seinem Takt nachsieht);
|
||||
`ripJava.test.ts` vergleicht `expire` bis dahin und prüft danach, dass R2
|
||||
zur Zeit und R1 ein Kabel später auf 16 steht (`BETTER_THAN_JAVA_FROM`).
|
||||
* Die Router starten nacheinander, rund 20 ms auseinander; wer einen
|
||||
Nachbarn vor seinem ersten Beacon hört, sendet die gelernte Route gleich
|
||||
mit. Senden mehrere zugleich, fehlt im Lauscher mancher eigene Frame.
|
||||
|
||||
Reference in New Issue
Block a user