## c't-Projekte - Mailinglisten

[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

### Re: [ct-bot] Bot-2-Bot-Kommunikation mit Payload-Versand

Absender: Timo Sandmann
Datum: Mi, 11.03.2009 11:06:45
In-reply-to: <000001c9a1b8$79a85860$0200a8c0@mexpnew>
References: <000001c9a1b8$79a85860$0200a8c0@mexpnew>

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    Hi Frank,

    Am 10.03.2009 um 20:43 schrieb Frank Menzel:

>     Hi Timo,
>     mir geht?s im speziellen um das Übertragen des Stacks und dann Aufruf
>     des Stackverhaltens.

    ja, dafür braucht man ja im Wesentlichen zwei Dinge:
    1. Stack von Bot A nach Bot B übertragen
    2. Verhalten bot_drive_stack() auf Bot B starten.

    Zu 1.:

`Der Positionsstack gehört immer zu einem Verhalten, es kann ja mehrere` `geben für verschiedene Verhalten. Folglich muss die Übertragung das` `auch berücksichtigen, damit die Daten an die richtige Stelle kommen.` `Ich denke es wäre am besten, wenn das Stack-Verhalten selbst die Daten` `entgegennimmt, damit man nicht in externen Funktionen entscheiden` `muss, welches Verhalten welchen Stack benutzt, wo der Speicher dafür` `liegt usw. Also könnte bot_drive_stack() einen weiteren Parameter` `bekommen, der angibt, ob das Verhalten sofort losfahren, oder zunächst` `einen Stack empfangen *) soll, den es anschließend abfährt.` `Hat bot_drive_stack() den Auftrag bekommen, zunächst einen Stack zu` `empfangen, setzt es einen entsprechenden Status und schickt dem Bot A` `(der bot_drive_stack() auf Bot B per Remotecall gestartet hat) eine` `Nachricht wie "bin bereit, bitte schicke mir jetzt die Stackdaten".` `Daraufhin sendet Bot A diese Daten mit der Bot-2-Bot-Payload-` `Sendefunktion an Bot B. Auf Bot B aktiviert dann nach der Übertragung` `die automatisch aufgerufene Callback-Funktion das bot_drive_stack-` `Verhalten wieder, welches nun losfährt.`

`Ist das soweit verständlich? So scheint mir das im Moment (ich habe` `jetzt allerdings auch nicht noch weiter darüber nachgedacht,` `vielleicht gibt es auch bessere Lösungen?) am besten geeignet.`

    Zu 2.:

`Eigentlich müsste das Starten von Remotecalls auf einem anderen Bot` `relativ einfach mit den bestehenden Funktionen möglich sein. Zumindest` `solange man davon ausgeht, dass der zweite Bot bereit ist. Es stellt` `sich nur die Frage, ob man die Verhalten wirklich so wie bisher von` `den Remotecalls gewohnt starten will z.B.` `start_behaviour_on_another_bot("bot_drive_stack", ...); also als` `Strings im Code, oder ob man vielleicht die Priorität eindeutig` `festlegt und diese als ID nimmt.`

`*) Denkbar ist übrigens auch, dass man Positionsstacks vom Sim aus` `exportieren / speichern kann und später wieder auf einen Bot laden -` `so kann man später einen weiteren Bot sehr leicht dieselbe Route` `abfahren lassen. Ob die Stackdaten von einem anderen Bot kommen oder` `vom Sim, der sie aus einer Datei einliest, macht ja grundsätzlich` `keinen Unterschied.`

>     Oder ohne Datenübertragung einfach ein beliebiges Verhalten starten
>     können...

    Siehe zu 2.

    Grüße,
    Timo

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.9 (Darwin)

    iEYEARECAAYFAkm3jTMACgkQDH/BX4067fIJqwCggDHqO+nIjH4hD9cu93YIbvKl
    woIAoIROwTY6IXr8/avQKKFkeirGI8t1
    =dNqt
    -----END PGP SIGNATURE-----

- Referenzen:
  - AW: [ct-bot] Bot-2-Bot-Kommunikation mit Payload-Versand
    - From: Frank Menzel

- Voriger (Datum): AW: [ct-bot] Bot-2-Bot-Kommunikation mit Payload-Versand, Frank Menzel
- Nächster (Datum): [ct-bot] Bug bei line_shortest_way, Frank Menzel
- Voriger (Thread): AW: [ct-bot] Bot-2-Bot-Kommunikation mit Payload-Versand, Frank Menzel
- Nächster (Thread): Re: [ct-bot] Bot-2-Bot-Kommunikation mit Payload-Versand, Timo Sandmann
- Indizes:
  - Datum
  - Thread