|
From: Christian M. <ma...@Ch...> - 2012-12-14 18:31:09
|
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
So, habe gerade mal den Stand in's SVN gebracht, an dem ich die
letzten Abenden dran war.
=> GrAFd macht nun schon sinnvolleres als vorher
Er spricht nun nämlich mit dem logicd und kann mehere Skripte
gleichzeitig ausführen (per Thread Pool). Konkret gibt es nun zwei,
eines hört nur auf die Nachricht "baz", der andere auf "bar" und "baz".
Der andere nimmt den INT Wert, der auf "bar" gesendet wurde und
schickt den verdoppelt und "baz" Millisekunden später an die Adresse
"blub".
Oder etwas konkreter, logicd und GrAF läuft (letzteres gerne mit "-v
- -v -v" als Parameter) in einem Terminal:
cm@obiwan:/mnt/hdd/devel/GrAF/logicd/build$ ./send2logic bar INT 2
cm@obiwan:/mnt/hdd/devel/GrAF/logicd/build$ ./send2logic baz INT 20000
cm@obiwan:/mnt/hdd/devel/GrAF/logicd/build$ ./send2logic bar INT 3
cm@obiwan:/mnt/hdd/devel/GrAF/logicd/build$ ./send2logic baz INT 40000
Gibt im anderen:
cm@obiwan:/mnt/hdd/devel/GrAF/logicd/build$ ./logicspy -c -t
[2012-12-14 19:22:19.266] bar (<- NoSrc){8}: INT: 2 0x2; additonal 0
bytes of raw:
[2012-12-14 19:22:19.267] blub (<- NoSrc){9}: INT: 4 0x4; additonal 0
bytes of raw:
[2012-12-14 19:22:20.252] baz (<- NoSrc){10}: INT: 20000 0x4e20;
additonal 0 bytes of raw:
[2012-12-14 19:22:22.262] bar (<- NoSrc){11}: INT: 3 0x3; additonal 0
bytes of raw:
[2012-12-14 19:22:24.577] baz (<- NoSrc){12}: INT: 40000 0x9c40;
additonal 0 bytes of raw:
[2012-12-14 19:22:40.253] blub (<- NoSrc){13}: INT: 4 0x4; additonal 0
bytes of raw:
[2012-12-14 19:23:20.254] blub (<- NoSrc){14}: INT: 6 0x6; additonal 0
bytes of raw:
=> Man sieht schön, wie das Skript (nicht der GrAFd!) beim ersten
"baz" die 20 Sekunden (bewusst) blockiert um dann das "blub" um
19:22:40 zu senden. Die zwischenzeitlichen Nachrichten "bar" und "baz"
werden zwischengespeichert und sofort danach gemeinsam abgearbeitet.
Dieser Stand wird nun dann ein "Problem" haben, wenn in der
blockierenden Zeit mehr als eine Nachricht pro Adresse kommt. Das kann
nun gut oder schlecht sein:
- - ist es etwas vergängliches wie ein Temperaturwert passt das, denn da
will ich wohl kaum um die Historie kümmern müssen und gleich den
aktuellen verarbeiten
- - ist es etwas wie ein Impulszähler könnte es doof sein (wäre aber
lösbar durch ein kleines Skript das nur zählt und das komplexe,
blockierende, dass dann diesen Wert weiterverwendet)
=> Da beides sinnvoll erscheint: wie machen das denn die anderen, wie
z.B. HS?
CU,
Chris
PS @Dirk, Julian und Makki: ab jetzt, wie besprochen, über die
Mailingliste. Ich befürchte, da fehlt noch Euere Anmeldung über die
Projekt-Seite...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEAREIAAYFAlDLcGIACgkQoWM1JLkHou3kmQCgjgiIGQTHQOS5aBXclI0Xj+vG
GpwAoJY44jSKb0txexo4sFYtxoXEeuoD
=jdTv
-----END PGP SIGNATURE-----
|