Giter VIP home page Giter VIP logo

filius's People

Contributors

kpj avatar pyropeter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

kpj prochat

filius's Issues

RIP: Zusätzliche Sinnhaftigkeitsprüfungen

Zur Zeit ist es möglich, dass ein Router von einem anderen Router weiß (also die Routen übernimmt), aber gar nicht in der Lage ist, IP-Pakete an den anderen Router zu übermitteln. Das kann folgende Gründe haben:

  • Der andere Router kann über keines der Interfaces direkt erreicht werden (Falsches Subnetz)
  • Der andere Router hat die gleiche IP wie der erste Router
  • Der andere Router hat die gleiche IP wie irgendein anderer Host

Da es (meiner Meinung nach) zu aufwendig ist, Unicast-Pakete zwischen den Routern zu versenden, um die Verbindungen zu testen, kann die dritte Problemquelle nicht erkannt werden.

Die ersten beiden Problemquellen kann man erkennen, indem bei Empfang eines Broadcasts geprüft wird, ob die Quell-IP ungleich den eigenen IPs ist, und ob die Quell-IP über eines der Interfaces erreicht werden kann.

Vermittlungsr.: Anzahl Interfaces nachträglich änderbar machen

Es nervt extrem, dass man nur beim Erstellen eines Vermittlungsrechners festlegen kann, wie viele Interfaces er besitzt.
Vorschlag:

  • Vermittlungsrechner, Tab "Allgemein": Neuer Button "Schnittstelle hinzufügen"
  • Vermittlungsrechner, jeder Schnittstellen-Tab: Button "Schnittstelle entfernen"

Repo anlegen

  • Darf nur Quellcode enthalten
  • Makefile muss das Kompilieren und Ausführen des Codes anbieten

Paketlaufzeiten verkürzen

Falls die Paketlaufzeiten künstlich verlängert werden, sollte man die imho ein bischen weniger verlängern können, weil sie so doch ein bischen lang sind.
Eventuell interessant ist dafür auch dieser geheimnisvolle Slider in der Titelleiste von Filius...

Terminal: print() und Ende der Befehlsausführung

Ziel:

  • benachrichtigeBeobachter() sollte in den Befehlsfunktionen ersetzt werden durch print()
  • print() kann mehrfach aufgerufen werden, ohne dass die GUI den Befehl als beendet ansieht
  • Beendigung eines Befehls wird (wie man das erwarten würde) durch Beendigung der Befehlsfunktion (return) an die GUI gemeldet

DNS-Resolver ist zu hartnäckig

Der DNS-Resolver scheint mehrere Endlosschleifen zu enthalten, die sogar einen Wechsel in den Entwurfsmodus überleben.

Der Resolver sollte sich maximal n Mal weiterleiten lassen und erkennen, wenn er wiederholt den gleichen DNS-Server kontaktiert (das kann passieren, wenn ein DNS-Server auf sich selber verweist (Konfigurationsfehler)).

Terminal verstehen und ggf. neuschreiben

Einige Ideen:

  • Prompt und Befehlsfunktionen sollten synchron im gleichen Thread laufen
  • benachrichtigeBeobachter sollte durch eine mehrmals aufrufbare Funktion ersetzt werden
  • benachrichtigeBeobachter sollte print heißen
  • Signale sollten das Abbrechen von Befehlen erlauben. Der Einfachheit halber könnte man einfach einen interrupt-Flag setzen, den der Befehl dann zu einem passenden Zeitpunkt abfragen kann (ping z.B. könnte nach jedem Paket ggf. Abbrechen)

Die durchführbaren Änderungen sollten in Form eines neuen Bugreports bearbeitet werden.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.