a88fa1512c65bc99d9cbd9dcee594385970b6ba3
A send hands its frame to the card and returns, as in Java; the frames travel while the clock advances. Swift's send ran the network until every frame had arrived; the option swiftSends keeps that for the Swift comparison. Waiting calls (TCP connect, acknowledgement) now run event by event until the answer instead of to the timeout. UDP and TCP send through a thread per node and protocol (Java's TransportProtokoll): one segment after the other; while IP waits for ARP, the next send blocks and a segment from an event queues behind it. Senders that wait take their turns in the order they came (a fair lock; Java's leaves the order to chance). All four ArpRun stories now match Java FILIUS, including when each call returns. Tests let frames arrive explicitly with letFramesArrive. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mdg-filius
Netzwerksimulation nach FILIUS für den Browser — als App „Filius" im MDG-Dashboard, gemeinsam bearbeitbar.
Based on Filius by Dr. Stefan Freischlad and the Filius project.
Dieses Projekt ist unabhängig. Es wird weder vom ursprünglichen Filius-Projekt (Universität Siegen) noch von
filius-project(Filius on iPad) herausgegeben, betrieben oder unterstützt.
Herkunft
Der Simulationskern ist eine Übertragung nach TypeScript aus
filius-project/filius-ipad(Swift, GPLv2 oder GPLv3) — Vorlage für Kern,.fls-Codec und Tests,filius1/filius(Java, GPLv2 oder GPLv3) — Referenz für Dateiformat und Verhalten.
Jede übertragene Datei nennt in ihrem Kopf die Quelldatei. CHANGES.md führt
die Herkunft je Paket. Lizenz dieses Repos: GPL-3.0 (LICENSE).
Aufbau
| Pfad | Inhalt |
|---|---|
packages/core |
Simulationskern: Modell, Ereignis-Warteschlange, Protokolle, Anwendungen — ohne DOM, ohne Node |
packages/fls |
.fls lesen, schreiben, Unbekanntes bewahren (folgt) |
packages/doc |
gemeinsames Dokument (Yjs) (folgt) |
packages/editor |
Oberfläche im Iframe des Dashboards (folgt) |
server |
Filius-Dienst auf Server F (folgt) |
Plan und Entscheidungen: knowledge/plans/FILIUS_WEB_PLAN.md im Dashboard.
Entwickeln
npm install
npm run hooks # Sprachprüfung vor jedem Commit (braucht das Dashboard drumherum)
npm run check # Typprüfung + Tests
Code, Kommentare und Testnamen sind englisch; sichtbare Texte stehen hinter i18n-Schlüsseln (Deutsch/Englisch).
Languages
TypeScript
85%
Java
11.6%
CSS
1.2%
Swift
1.1%
Shell
0.9%
Other
0.1%