feat(core): ARP after Java, measured with Java FILIUS

An ARP lookup asks, waits a round trip, asks once more and gives up after
another round trip; then host unreachable, observed at the sender itself or
sent back by the router (for ICMP only for an echo request). A waiting
sender wakes after what else happens at that time. A ping then waits a
round trip for its answer, counted from when it left. Swift asks twice at
once while events run and lets the packet wait without end when the
address exists anywhere in the network; the option swiftArp keeps that for
the Swift comparison, and three scenarios are compared with Swift until the
trace where ARP fails or a ping goes unanswered.

arpJava.test.ts compares ArpRun: both pings match; the two UDP stories wait
for Java's transport thread (next step). DNS without a server now matches
Java too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-30 17:11:23 +00:00
co-authored by Claude Opus 5.5
parent 67fb608412
commit dbbc1fd70d
8 changed files with 414 additions and 152 deletions
+4 -1
View File
@@ -36,7 +36,10 @@ npm test # vergleicht mit den geschriebenen *.swift.json
(`tcpJava.test.ts`, `TcpRun`). Seit F2.3d befördert ein Kabel des Kerns
einen Frame nach dem anderen wie Java; der Swift-Vergleich startet die
Engine mit `swiftCables` (alle Frames zugleich, wie Swift) und prüft so
alles andere weiter Spur für Spur.
alles andere weiter Spur für Spur. Ebenso stellt `swiftArp` Swifts ARP in
der Ereignisverarbeitung nach (beide Anfragen zugleich, Warteliste ohne
Ende); drei Szenarien vergleicht der Test nur bis zu der Spur, an der ARP
scheitert oder ein Ping unbeantwortet bleibt (`SWIFT_UNTIL_TRACE`).
Das Ergebnis enthält die Sockets mit der Länge ihrer Warteschlange, dem
TCP-Zustand, dem annehmenden Socket und den Sitzungswerten.