wiki:ExecuterNotes

Version 2 (modified by Torben Dannhauer, 15 years ago) (diff)

--

Executer

Aufbau des Executer-Containers

typedef enum {SWAP, READY_TO_SWAP, <othercomands...> } executerID;

  • Befehl: executerID
  • 3 num. Param. double[3]
  • Stringparam. std::String

dataIO::executer Realisierung

Wie auch Updater (an visual_Objects) werden die executer cascadiert an visual_core angehängt. Bei jedem Framepaket kann ein Executerbefehl übertragen werden.

Sowohl Slave als auch master iterieren pro Frame durch die Executerliste und fragen über isReponsible(ENUM executerIdentifier_)

-> Wenn ja: performExecuter( executer* executer_ )

Die executer werden in der Transportklasse übertragen.

executer_query: Ein eindeutiger Identifier sagt, was mit diesem executer gemacht werden soll

HAT HOT LAT LON COLLISION INSIDE CLOUD WIND precipitation

executer_modify:

READY_TO_SWAP SWAP <Object management> <Sky & Weather management> <visual Configuration e.g. grey out>

Wie die ermittelten Werte des executer_query zurücksenden?

  • Grundsätzlich: dataIO hat ein ergebnisarray, jeweils mit executerID und mit (numerischen) Rückgabewert
  • extlink bekommt von dataIO dieses Ergebnisarray als startpointer übermittelt und muss jeweils selbst diese Werte entnehmen und gemäß der jeweiligen extLink-implementierung verwursten

--> Bei extLink_VCL : rückgabewerte fest an gewisse channel binden.