Absender: Timo Sandmann
Datum: Do, 19.06.2008 14:36:14
In-reply-to:
<E5502A58-C75A-432D-9241-62E21BDC0461@xxxxxxxxxxxxxxx>
References:
<000001c8d09e$f363bff0$0200a8c0@mexpnew> <F57F05A6-3013-4A1D-9337-2358FB3DD378@xxxxxxxxxxxxxxx> <4858FD89.2030403@xxxxxxxx> <E5502A58-C75A-432D-9241-62E21BDC0461@xxxxxxxxxxxxxxx>
Hi, Am 19.06.2008 um 13:30 schrieb Timo Sandmann:
Wie groß seht ihr denn die Notwendigkeit dafür?Kommen so große Datenmengen denn in der Praxis vor, oder kann der Sim einfach die Daten etwas "langsamer" ausliefern?Wie willst du denn langsamer ausliefern? Nachricht N+1 erst dann abschicken, wenn Versand von N bereits mindestens 10 ms zurückliegt? Dann muss der Sim aber auch puffern, der Nachrichteneingang soll ja nicht ebenfalls schlafen gelegt werden, oder?Ich würde auch gern Programme zum Bot senden und das geht wohl nur als Payload sinnvoll. Gut man kann auch die Payload noch wieder verzögern, aber irgendwie gefällt mir so ein von außen aufgezwungenes Timing nicht so sehr... Außerdem sind vom Sim künstlich verzögerte Daten irgendwie unschön, wenn ich die Nachrichten vielleicht mal mit einer anderen CPU am Bot empfangen möchte und dort gar keine Verzögerung brauche.
mir ist hierzu grad noch etwas anderes eingefallen, das einfacher ist, und vielleicht erstmal völlig ausreicht: Der sendende Bot verzögert die Nachrichten, so braucht man am Sim gar nichts zu ändern und kommt auch ohne Puffer aus. Eine ganz einfache Implementierung wäre es, wenn die Senderoutine für Stackdaten als Verhalten realisiert wird, damit sie periodisch aufgerufen wird. Beim Versand merkt sich das Verhalten die aktuelle Zeit und schickt erst dann die nächste Nachricht, wenn mindestens 10 ms vergangen sind. Der Overhead bleibt natürlich nach wie vor, aber für die Stackpositionen ist das vermutlich nicht weiter schlimm.
Beim Verschicken von größeren Datenmengen als Payload könnte man im data_l / data_r Feld einfach eine CRC-Prüfsumme mitschicken, dann kann der Bot überprüfen, ob (wahrscheinlich) alles korrekt angekommen ist.
So müssten wir an der eigentlichen Kommunikation nichts ändern, was meint ihr?
Grüße, Timo