von tschak909 » Do 26. Nov 2020, 23:36
Hallo zusammen, ich hoffe, alle haben ein tolles Thanksgiving!
Ich hatte ein paar Minuten hier, in denen ich an der #FujiNet-Firmware gearbeitet habe, bevor alle aufgetaucht sind, und wollte ein Status-Update darüber geben, woran im Moment gearbeitet wird.
Von meinem Ende aus verbringe ich den Rest des Jahres damit, N: neu zu schreiben. Die Ergebnisse fließen in diesen Zweig ein:
https://github.com/FujiNetWIFI/fujinet- ... rk-rewriteWie Sie sehen können, gibt es derzeit über 160 Commits vor dem Master-Zweig, der zum Schneiden von Produktions-Firmware-Versionen verwendet wird, so dass dort eine Menge Arbeit geleistet wird und noch mehr zu tun bleibt. Zum jetzigen Zeitpunkt arbeiten die TCP-, TELNET- und UDP-Protokolladapter korrekt. Ich verwende die Programme netcat und dumbterm.bas, um zwischen diesen Protokolltypen umzuschalten, und ich verwende netcat auf der PC-Seite, um diese Protokolle zu testen und sicherzustellen, dass sie korrekt funktionieren.
Ich habe versucht, UDP Multicast-Unterstützung hinzuzufügen, konnte es aber nicht zum korrekten Funktionieren bringen. Ich bin sicher, dass es etwas ist, was ich auf meiner Seite falsch mache, also werde ich es in Zukunft noch einmal versuchen.
Die wichtigsten Änderungen gegenüber dem Master bestehen darin, Netzwerkprotokolle in ihre eigene Bibliothek herauszubrechen und zu versuchen, Protokollaktionen vom network.cpp-SIO-Gerät so weit wie möglich zu isolieren. Dazu gehörte, dass man sehr bewusst Fehlerbedingungen vom Protokoll an das SIO-Gerät weitergab und versuchte, so viele Wiederholungen, die sich in den verschiedenen Protokolladaptern ansammelten, so weit wie möglich zu berücksichtigen. Zu diesem Zweck gibt es nicht nur eine neue Basisklasse, NetworkProtocol, sondern auch eine sekundäre Basisklasse für Protokolle, die als Dateispeicher fungieren, NetworkProtocolFS, die Dateisystemaktionen wie Lesen/Schreiben von Dateien gegenüber Verzeichnissen, Arbeiten mit Verzeichnissen usw. hinzufügt, und vor allem die Auflösung von 8.3-Zeichen-Dateinamen in längere Dateinamen, um die Kompatibilität mit Programmen und Plattendienstprogrammen zu maximieren, die davon ausgehen, dass alle Dateinamen 8.3 sind.
Mein Ziel ist es also, die Protokolle, die zur Zeit im Master existieren, neu zu schreiben und dabei den Proof-of-Concept-Code aufzulösen, der in einigen Protokolladaptern vorhanden ist (wie z.B. FTP, das einen viel robusteren Protokoll-Zustandsautomaten benötigt! ), weiß ich nicht, wie lange das dauern wird, aber da ich für den Rest des Jahres im Urlaub bin, beabsichtige ich, so viel Zeit wie möglich auf die Implementierung dessen zu verwenden, was für N: getan werden muss, und N: hoffentlich so weit zu bringen, dass es von einem breiteren Publikum als nützliches Werkzeug und nicht nur als reine Kuriosität verwendet werden kann.