## c't-Projekte - Mailinglisten

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

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

Absender: Frank Menzel
Datum: Di, 10.03.2009 20:43:28
In-reply-to: <0F9D20D7-FB3B-4253-8D4C-F2F7414BD0B7@xxxxxxxxxxxxxxx>

    Hi Timo,
    mir geht?s im speziellen um das Übertragen des Stacks und dann Aufruf
    des Stackverhaltens.
    Oder ohne Datenübertragung einfach ein beliebiges Verhalten starten
    können...

    Gruß, Frank

    -----Ursprüngliche Nachricht-----
    Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx
    [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von Timo
    Sandmann
    Gesendet: Dienstag, 10. März 2009 16:37
    An: Entwicklung rund um den c't-bot
    Betreff: Re: [ct-bot] Bot-2-Bot-Kommunikation mit Payload-Versand

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

    Hi Frank,

    Am 09.03.2009 um 11:23 schrieb Menzel, Frank IT-OO4:
    > Aber irgendwie fehlt mir hier noch eine allgemeingültige, von einem
    > beliebigen Verhalten aufrufbare, Kommunikationsroutine.

    na ja was heißt von beliebigen Verhalten? Letztlich braucht man für
    jedes Verhalten irgendeinen speziellen Code, der die Daten dort
    speichert, wo das jeweilige Verhalten sie braucht / erwartet.

    > Für den payload-Test ist ja ein eigener Buffer definiert und eine
    > Callbackroutine, die nach dem Empfang des Buffers im Empfangsbot
    > aufgerufen wird. Mir ist hier aber noch zu viel per Define zu
    > programmieren in der bot-2-bot.h bzw. bot-2-bot.c, je nachdem was
    > anwendungsbezogen passieren soll.

    Die #defines sind ja nur dazu da, um Tipparbeit zu sparen und es
    übersichtlicher aussehen zu lassen.

    > Auch geht es ja noch nicht, einfach ein Zielverhalten aufzurufen,
    > ohne wieder weitere Defines für den Anwendungsfall
    > reinzuprogrammieren. Man könnte doch da erlauben, ein beliebiges
    > remotecall-Verhalten, die sich ja schon in einer extra Liste
    > befinden, aufzurufen.

    Ja natürlich, dazu muss nach dem Datenempfang auf dem Zielbot nur die
    Funktion bot_remotecall_from_command(char * data) aufgerufen werden.
    Allerdings haben die Remotecalls derzeit die Einschränkung, dass man
    nur dann einen starten kann, wenn nicht bereits ein anderes Verhalten
    per Remotecall gestartet wurde. Der Sim fängt das automatisch ab, aber
    ein anderer Bot weiß natürlich nicht, ob der Remotecall-Dienst "frei"
    ist oder nicht. Eventuell braucht man hier noch etwas mehr
    Fehlerbehandlung / Rückmeldungen.

    > Also ich würde mir da eine Routine vorstellen, die folgende
    > Parameter hat:
    > To -> Adresse Zielbot
    > Datenbereich -> per Payload übertragen wenn gefüllt, sonst eben nicht
    > Zielverhalten -> Auf Remotebot zu startendes Zielverhalten nach
    > Payload des Datenbereiches

    Den letzten Satz verstehe ich irgendwie rein sprachlich schon nicht.
    Aber es gibt ja die Funktion int8_t
    bot_2_bot_send_payload_request(uint8_t to, uint8_t type, void * data,
    int16_t size), womit "To" und "Datenbereich" schon einmal direkt
    abgehandelt sind ("to" und "data"). "Zielverhalten" muss man halt
    irgendwie mit "type" übertragen, denn je nachdem, welches Verhalten
    die Daten bekommen soll, muss auch der Speicherplatz, wo die Daten
    abgelegt werden, unterschieden werden.
    Ich verstehe nicht so richtig, was du meinst, könntest du vielleicht
    mal ein Beispiel anhand eines konkreten Verhaltens machen?

    > Oder nur für Payload-Übertragung ohne Zielverhalten.

    Ja aber man muss ja irgendwie angeben, wo die Daten hin sollen, oder
    was meinst du?

    Gruß,
    Timo

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

    iEYEARECAAYFAkm2iTYACgkQDH/BX4067fJr3ACffBpgyNMDopWxswEN9BUHNGEV
    yZ8AnA7QlkBKf/S0dZaqWvbvJ0g57InA
    =XZUs
    -----END PGP SIGNATURE-----

    _______________________________________________
    ct-bot-entwickler Mailingliste
    ct-bot-entwickler@xxxxxxxxxxxxxxxxx
    http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler

- Antworten:
  - Re: [ct-bot] Bot-2-Bot-Kommunikation mit Payload-Versand
    - From: Timo Sandmann
  - Re: [ct-bot] Bot-2-Bot-Kommunikation mit Payload-Versand
    - From: Timo Sandmann

- Referenzen:
  - Re: [ct-bot] Bot-2-Bot-Kommunikation mit Payload-Versand
    - From: Timo Sandmann

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