Description
GetUpdateMethod is called by the system to determine what kind of update method a device needs in order to advance its current execution state. Some devices are passive, and don't need to perform any execution steps of their own, they merely need to respond to input from other devices. Memory buffers are an example of this. Devices which need to initiate unsolicited contact with other devices however are considerd active devices, and will generally need an update method to be called to advance their execution state. The device must return a member of the UpdateMethod enumeration, which indicates the kind of update method this device uses.
There are currently three supported update methods, "None", "Step", and "Timeslice". None is the default. If a device is active, and needs to perform its own execution steps, it will probably need either the "Step" or "Timeslice" update methods. If a device requests the step update method, it must implement the ExecuteStep method. If a device requests the timeslice update method, it must implement the ExecuteTimeslice and ExecuteTimesliceTimingPointStep methods. See the documentation for those methods for further info.
Note that the value returned by this method should be constant, and should not change for the lifetime of the device object. Returning a different value from this method at different times may result in the change not taking effect, or causing unexpected problems during system execution.
Usage
virtual double ExecuteStep();
Return value
- [UpdateMethod]
- The update method this device requires for execution
See also
- IDevice
- UpdateMethod
- ExecuteStep
- ExecuteTimeslice
- ExecuteTimesliceTimingPointStep