Allgemein ist ein Nachrichten-Austausch niemals was anderes als der Transfer von Daten aus einem Sendebuffer in einen oder mehrere Empfangsbuffer. So gesehen gibt's eh nix anderes als Data-Mapping.
Aber Daten-Replication in obgenannten Sinne ist eine Sache der Application-Schicht.
Denn:
Nach SetVar muß ja irgendeiner alle Subscriber (Watchval) durchrattern und dorthin irgendwas schicken, damit der aktuelle Value auch dort erscheint. und dort gibt's aber wieder eine Liste von irgendwem, der verständigt werden will, daß sich der Wert geändert hat.
Es hilft kein Zappeln, es gibt einen Level, auf dem eine spezifische Software mit einer anderen spezisfischen quatschen muß. Und bevor der nicht da ist, gibt's sonst auch nix.
Für die Kommunkation ist es irgendwie piepegal, ob eine Empfängeradresse einen Programm-Entry bezeichnet oder eine Memoryadresse. Die Mechanismen unterscheiden sich kaum
Darüber hinaus ist der Grund, "Messages" und nicht "Daten" zu verschicken der, daß die Message wesentlich komplexere (und platformspezifisch unterschiedlich gelöste) Mechanismen auslösen kann.
Im moment reden wird ja nur von Ports setzen und Pin abfragen. Das ist ja letzlich pipifax. Je autonomer irgendein NetzTeilnehmer wird, desto abstrakter die Anweisungen ("geradeaus fahren und mit der Odometrie überprüfen")
Noch ein Beispiel: Wenn der Host einen Motor in Betrieb nehmen will, dann muß er nicht wissen, welchen Pin man da hoch ziehen muß. Er sagt einfach "Gib Stoff".
Lesezeichen