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----- |