Hallo, meiner welche schon wieder!
Ich bin gerade bisschen am Testen meines Moduls gewesen und hab Probleme
mit dem "GET <bus> GA" festgestellt.
Leider hängt sich der Server dabei immer weg, wenn er eine Antwort
generieren soll. Wieso hab ich noch nicht weiter raus, irgendwas stimmt
mit der Zeitangabe nicht.
Als ich aber so angefangen habe nachzuvollziehen, was wir da alles in
die Antwort packen, ist mir aufgefallen, dass das _GASTATE struct
eigentlich zu "schwach" ist.
Wir können zwar die Aktion des letzten Befehls auf einen Port
nachvollziehen, aber lt. SRCP-Spezifikation, sollten wir wenn wir auch
ein "GET 1 GA 1 1" verarbeiten können; also den Status eines bestimmten
Ports anzeigen können bzw. wenn wir ein "GET 1 GA 1" bekommen, den
Status beider Ports anzeigen...
Wie wäre es, wenn wir auf folgendes ändern? (Bin leider noch nicht allzu
fit mit structs und so, also korrigiert mich, wenn ich da völligen murks
produziere):
-- snip --
struct _GASTATE
{
int action;
long activetime;
struct timeval tv;
struct timeval t;
};
typedef struct _GA
{
int numberOfGa;
char *protocol;
struct _GASTATE *gastate[MAXGAPORT];
long int locked_by;
} GA;
-- /snip --
Diese Änderung zieht natürlich Änderungen in allen Modulen nach sich,
deshalb habe ich erst mal noch nichts weiter programmiert und werde in
meiner lokalen Kopie handleGET erst mal immer SRCP_NODATA zurück liefern
lassen...
Was meint ihr zu dem Vorschlag?
Gruß,
Manuel
--
web...@ma...
http://www.matronix.de - http://www.e-online.de/public/borchers
3:02pm up 1 day, 4:51, 6 users, load average: 0.46, 0.46, 0.34
|