[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[DDL-ML] Erddcd command queue length
Erddcd: QSIZE in queue.c ist 2000. Alle Kommandos die während POWER
OFF empfangen werden landen in der Queue.
* Was sollte passieren wenn die Queue voll ist? In queue_add sollte
irgendwie
in++;
if (in==QSIZE) in=0;
if (in == out) { ???? }
pthread_mutex_unlock(&queue_mutex);
berücksichtigt werden.
* Müssen während des POWER OFF alle Kommandos in der Queue abgelegt
werden oder reicht es für jedes gesteuerte Objekt das letzte
Kommando aufzuheben und alles andere wegzuwerfen? Sollte man SET GL
so optimieren? Geht das für SET GA? Wie radikal kann man sein?
Da man nicht bei jedem queue_add die ganze Queue ablaufen will denke
ich an einen Garbagecollect der bei voller Queue eine Runde läuft
und optimiert. Über die Details kann man sich dann immer noch
Gedanken machen wenn wir einig sind, daß wir sowas haben wollen.
Die andere Alternative - eine dynamische Queue bei der dann eben der
Arbeitsspeicher die Grenze setzt - ist auch nicht das gelbe vom Ei, da
dann beim POWER ON zig Befehle abgeackert werden müssen.
Harald.