Detailed Description

Executer with IO device to handle external/physical events.

External/Physical Events and Time

This executor class is derived from the ProposingExecutor and uses a vDevice from the IO Device Plugin to handle input and output events and physical time. Technically, the class provides the routine SyncStep() that has to be called periodically to synchronize executor clock time with physical time and to perform input readings and output writings. There is also a convenience routine SyncRun() which runs a loop with SyncStep().

The SyncStep() procedure implements the below stages. It returns true, if indeed a transition was executed. It returns false on synchronistion errors or when the specified duration expired.

  • get a proposal from ProposingEcexutor
  • if physical time is ahead of the genartors current clock time, sync time by ExecuteTime; in the case that this is not consistent with the proposal, an error is reported;
  • if the generators current clock time is ahead of physical time, an error is reported
  • if a input event has been reported that can be executed at generators current time, execute it
  • if the proposal schedules an event for the generators current time, execute it
  • if a input event has been reported, execute it now; if this event is not accepted by the generator, report an error
  • if the proposals time is not yet executed, wait for that amount of time to pass or a input event to be delivered.

Naturally, the DeviceExecutor requires the IO Device plugin in order to be functional. In the absence of the plugin, the DeviceExecutor will behave like a ProposingExecutor.

File IO

The DeviceExecutor inherits file IO from the ProposingExecutor. The device itself is initialized by vDevice methods (eg configured from File) and then passed to the DeviceExecutor by the method Devicep(). Thus, the DeviceExecutor does not need to implement additional token io facilities.

Definition at line 75 of file sp_dplpexecutor.h.

#include <sp_dplpexecutor.h>

Public Member Functions

Constructors & Destructor
 DeviceExecutor ()
 Creates an emtpy DeviceExecutor. More...
 
 DeviceExecutor (const DeviceExecutor &)
 Copy constructor. More...
 
 ~DeviceExecutor ()
 Explicit destructor. More...
 
DeviceExecutorNew (void)
 Dummy factory method. More...
 
Re-implemenented from ParallelExecutor
virtual void Reset (long int seed=0)
 Reset the DeviceExecutor. More...
 
virtual void Clear (void)
 Clear all data (generators, simulation attributes etc) More...
 
bool ExecuteEvent (Idx event)
 Execute event. More...
 
- Public Member Functions inherited from faudes::ProposingExecutor
 ProposingExecutor ()
 Creates an emtpy ProposingExecutor. More...
 
 ProposingExecutor (const ProposingExecutor &)
 Copy constrcutor. More...
 
const SimEventAttributeEventAttribute (Idx index) const
 Simulation event attribute lookup. More...
 
void EventAttribute (Idx index, const SimEventAttribute &rAttr)
 Set simulation event attribute. More...
 
void Alphabet (const sEventSet &rAlphabet)
 Set all simulation event attributes. More...
 
const sEventSetAlphabet (void) const
 Access alphabet (incl simulation event attributes) More...
 
TimedEvent ExecuteNextTransition ()
 Execute next transition. More...
 
const TimedEventProposeNextTransition ()
 Propose next transition. More...
 
std::string EventStatesToString (void) const
 Inspect stochastic event states (debugging) More...
 
virtual void Reset (void)
 Reset the ProposingExecutor. More...
 
bool ExecuteTime (Time::Type duration)
 Execute time duration. More...
 
bool ExecuteEvent (Idx event)
 Execute event. More...
 
bool ExecuteTransition (const TimedEvent &tevent)
 Execute event by transition. More...
 
bool RevertToStep (Idx step)
 Revert executor to past step. More...
 
- Public Member Functions inherited from faudes::LoggingExecutor
 LoggingExecutor (void)
 Construct an emtpy LoggingExecuter. More...
 
 LoggingExecutor (const LoggingExecutor &rOther)
 Copy constructor. More...
 
 LoggingExecutor (const std::string &rFileName)
 Construct from file. More...
 
virtual ~LoggingExecutor (void)
 Explicit destructor. More...
 
virtual bool Valid (void) const
 Check validity of executors. More...
 
Time::Type CurrentTime (void) const
 Get clock time. More...
 
void CurrentTime (Time::Type time)
 Set clock time. More...
 
int CurrentStep (void) const
 Get logical time, ie number of transitions so far,. More...
 
void CurrentStep (int step)
 Set logical time (# of steps) More...
 
bool CurrentParallelTimedState (const ParallelTimedState &ptstate)
 Set current state of the ParallelExecutor. More...
 
const ParallelTimedStateCurrentParallelTimedState (void) const
 Get current state of the ParallelExecutor. More...
 
void LogOpen (TokenWriter &rTw, int mode)
 Start logging to TokenWriter. More...
 
void LogOpen (const std::string &rFileName, int logmode, std::ios::openmode openmode=std::ios::out|std::ios::trunc)
 Start logging to file. More...
 
void LogClose (void)
 Stop logging. More...
 
const SimConditionSetConditions (void) const
 Read-only access to simulation conditions. More...
 
void Conditions (const SimConditionSet &)
 Set all simulation conditions. More...
 
const AttributeSimConditionCondition (const std::string &rName) const
 Read-only access to a simulation condition by name. More...
 
const AttributeSimConditionCondition (Idx cond) const
 Read-only access to a simulation condition by index. More...
 
Idx SetCondition (const std::string &rName, const AttributeSimCondition &rCondition)
 Set (or add) a condition by name. More...
 
void SetCondition (Idx cond, const AttributeSimCondition &rCondition)
 Set a condition by index
More...
 
void ClrCondition (const std::string &rName)
 Remove a condition by name
More...
 
void ClrCondition (Idx cond)
 Remove a condition by index
More...
 
void ConditionsWrite (TokenWriter &rTw, const std::string &rLabel="SimConditions") const
 Write conditions so labled section
More...
 
void ConditionsRead (TokenReader &rTr, const std::string &rLabel="SimConditions")
 Read conditions from labled section
More...
 
ConditionIterator ConditionsBegin (void) const
 Condition iterator: begin. More...
 
ConditionIterator ConditionsEnd (void) const
 Condition iterator: end
More...
 
bool BreakCondition (void) const
 Simulation state: true if some break condition is currently satisfied. More...
 
void TraceClear (int length=-2)
 Clear buffer and set max buffer. More...
 
int TraceLength (void) const
 Access buffer: current length. More...
 
TraceIterator TraceBegin (void) const
 Condition iterator: begin. More...
 
TraceIterator TraceEnd (void) const
 Condition iterator: end
More...
 
const TraceSampleTraceAtTime (Time::Type time) const
 Access buffer: sample by faudes time (returns first sample) More...
 
const TraceSampleTraceAtStep (int step) const
 Access buffer: sample by step. More...
 
const TraceSampleTraceFirst (void) const
 Access buffer: first sample. More...
 
const TraceSampleTraceRecent (void) const
 Access buffer: recent sample. More...
 
const TraceSampleTraceCurrent (void) const
 Access buffer: current sample. More...
 
void TraceWrite (TokenWriter &rTw, const TraceSample &sample) const
 Access buffer: tokenwriter output. More...
 
void TraceWrite (const TraceSample &sample) const
 Access buffer: console output. More...
 
std::string TraceToString (const TraceSample &sample) const
 Access buffer: convert to string. More...
 
void TraceWrite (void) const
 Access buffer: console output (list all) More...
 
- Public Member Functions inherited from faudes::ParallelExecutor
 ParallelExecutor (void)
 Construct an emtpy ParallelExecuter. More...
 
 ParallelExecutor (const ParallelExecutor &rOther)
 Copy constructor. More...
 
 ParallelExecutor (const std::string &rFileName)
 Construct from file. More...
 
virtual ~ParallelExecutor (void)
 Explicit destructor. More...
 
Idx Size (void) const
 Number of TimedGenerators. More...
 
void Insert (const std::string &rFileName)
 Add a TimedGenerator from file. More...
 
void Insert (const TimedGenerator &rGen)
 Add a TimedGenerator. More...
 
const EventSetAlphabet (void) const
 Overall alphabet. More...
 
Iterator Begin (void) const
 
Iterator End (void) const
 
const ExecutorAt (int i) const
 
Idx EventIndex (const std::string &rName) const
 Event index lookup. More...
 
std::string EventName (Idx index) const
 Event name lookup. More...
 
Time::Type CurrentTime (void) const
 Get clock time. More...
 
int CurrentStep (void) const
 Get logical time, ie number of transitions so far,. More...
 
bool IsDeadlocked () const
 Test for deadlocked. More...
 
const ParallelTimedStateCurrentParallelTimedState (void) const
 Get current state of the ParallelExecutor. More...
 
const ParallelStateCurrentParallelState (void) const
 Get current discrete state vector of the ParallelExecutor. More...
 
const TimeIntervalEnabledTime () const
 Get maximal duration that can pass without executing an event. More...
 
const EventSetEnabledEvents () const
 Get events that are enabled at current (timed) state. More...
 
const EventSetDisabledEvents () const
 Get events that are disabled at current (timed) state. More...
 
const TimeIntervalEnabledInterval () const
 Get an interval on which the set of enabled events is constant. More...
 
TimeInterval EnabledEventTime (Idx event) const
 Get interval on which the specified event is enabled. More...
 
TimeInterval EnabledGuardTime (Idx event) const
 Get interval on which the respective guard is satisfied. More...
 
EventSet ActiveEventSet (const ParallelState &stateVec) const
 Get events that are active in all TimedGenerators. More...
 
bool Active (Idx ev, const ParallelState &stateVec) const
 Test whether an event is active in a given discrete state. More...
 
bool Active (Idx ev) const
 Test whether an event is active at current (discrete) state. More...
 
std::string PTSStr (const ParallelTimedState &ptstate) const
 Pretty printable string of timed parallel state. More...
 
std::string PSStr (const ParallelState &pstate) const
 Pretty printable string of parallel state. More...
 
std::string TEStr (const TimedEvent &tevent) const
 Pretty printable string of timed event. More...
 
std::string CStr (Idx clock) const
 Pretty printable string of clock name. More...
 
std::string EStr (Idx event) const
 Pretty printable string of event. More...
 
std::string CurrentParallelTimedStateStr (void) const
 Pretty printable string of current state. More...
 
std::string CurrentParallelStateStr (void) const
 Pretty printable string of parallel state
More...
 
void ComputeEnabled (void) const
 Compute enabled events and enabled interval (fake const) More...
 
void ComputeEnabledNonConst (void)
 Compute enabled core routine (non const) More...
 
- Public Member Functions inherited from faudes::Type
 Type (void)
 Constructor. More...
 
 Type (const Type &rType)
 Copy constructor. More...
 
virtual ~Type (void)
 Destructor. More...
 
virtual TypeNew (void) const
 Construct on heap. More...
 
virtual TypeCopy (void) const
 Construct on heap. More...
 
virtual const TypeCast (const Type *pOther) const
 Cast other object to this type. More...
 
virtual TypeAssign (const Type &rSrc)
 Assign configuration data from other object. More...
 
virtual Typeoperator= (const Type &rSrc)
 Assign configurationdata from other object. More...
 
virtual bool Equal (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual bool operator== (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual bool operator!= (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual void Name (const std::string &rName)
 Set the objects's name. More...
 
virtual const std::string & Name (void) const
 Get objects's name. More...
 
virtual const std::string & TypeName (void) const
 Get objects's type name. More...
 
void Write (const Type *pContext=0) const
 Write configuration data to console. More...
 
void Write (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const
 Write configuration data to a file. More...
 
void Write (const std::string &pFileName, std::ios::openmode openmode) const
 Write configuration data to a file. More...
 
void Write (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to TokenWriter. More...
 
virtual void XWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to an XML file. More...
 
void XWrite (const Type *pContext=0) const
 Write configuration data in XML format to concole Note: this write function uses the virtual function DoXWrite(), to be reimplemented by derived classes. More...
 
void XWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data in XML format to TokenWriter. More...
 
std::string ToString (const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to a string. More...
 
std::string ToText (const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to a formated string. More...
 
void DWrite (const Type *pContext=0) const
 Write configuration data to console, debugging format. More...
 
void DWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const
 Write configuration data to a file, debugging format. More...
 
void DWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data in debug format to TokenWriter. More...
 
void SWrite (TokenWriter &rTw) const
 Write statistics comment to TokenWriter. More...
 
void SWrite (void) const
 Write statistics comment to console. More...
 
std::string ToSText (void) const
 Write statistics to a string. More...
 
void Read (const std::string &rFileName, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from file with label specified. More...
 
void FromString (const std::string &rString, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from a string. More...
 
void Read (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from TokenReader with label sepcified. More...
 

Protected Member Functions

void DoAssign (const DeviceExecutor &rSrc)
 Assignment method. More...
 
- Protected Member Functions inherited from faudes::ProposingExecutor
virtual void DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Reads proposing executor from TokenReader, see also public wrappers Type::Read. More...
 
virtual void DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write to TokenWriter, see also public wrappers Type::Write. More...
 
void DoAssign (const ProposingExecutor &rSrc)
 Assignment method. More...
 
- Protected Member Functions inherited from faudes::LoggingExecutor
virtual void Compile ()
 Compile internal data (all) More...
 
void DoAssign (const LoggingExecutor &rSrc)
 Assignment method. More...
 
- Protected Member Functions inherited from faudes::ParallelExecutor
virtual void DoReadGenerators (TokenReader &rTr)
 Reads generator files section from TokenReader. More...
 
virtual void DoWriteGenerators (TokenWriter &rTw) const
 Write generator files section to TokenWriter. More...
 
void DoAssign (const ParallelExecutor &rSrc)
 Assignment method. More...
 
- Protected Member Functions inherited from faudes::Type
void DoAssign (const Type &rSrc)
 Assign configuration data from other object. More...
 
bool DoEqual (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual void DoXWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data of this object to TokenWriter in XML format. More...
 
virtual void DoDWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data in debugging format to TokenWriter. More...
 
virtual void DoSWrite (TokenWriter &rTw) const
 Write statistical data as a comment to TokenWriter. More...
 
virtual const TypeDefinitionTypeDefinitionp (void) const
 Get objects's type definition. More...
 
virtual Token XBeginTag (const std::string &rLabel="", const std::string &rFallbackLabel="") const
 

Protected Attributes

bool mSyncError
 Sync error flag. More...
 
Time::Type mMaxSyncGap
 Max gap between physical and generator clock time
More...
 
int mSyncMode
 Mode flags for synchronisation. More...
 
vDevicepDevice
 Device reference. More...
 
- Protected Attributes inherited from faudes::ParallelExecutor
Idx mRecentEvent
 recent event More...
 

Application Interface

enum  SyncMode { SyncStrictTime =0x01 , SyncStrictEvents =0x02 }
 Modes of synchronisation. More...
 
void ToleranceTime (Time::Type maxgap)
 Set tolerance for time synchonisation. More...
 
void ToleranceMode (int flag)
 Set synchronisation flags. More...
 
bool SyncTime (void)
 Execute generator clock time to sync with device time. More...
 
Idx SyncEvents ()
 Execute scheduled or input events now. More...
 
bool SyncWait (Time::Type duration=Time::Max())
 Wait for input events. More...
 
bool SyncWaitMs (int durationms)
 Wait for input events. More...
 
Idx SyncStep (Time::Type duration=Time::Max())
 Execute one transition with synchronous physical signals. More...
 
bool SyncRun (Time::Type duration=Time::Max())
 Run execution with synchronous physical signals. More...
 
bool IsSynchronous (void) const
 Test Syncronisation. More...
 
void Devicep (vDevice *dev)
 Set device. More...
 
vDeviceDevicep ()
 Get device. More...
 
void DeviceReset (void)
 Convenience: Reset the device. More...
 
void DeviceStart (void)
 Convenience: Start the device. More...
 
void DeviceStop (void)
 Convenience: Stop the device. More...
 
virtual bool DeviceResetRequest (void)
 Query the device whther it has received an external reset request. More...
 

Additional Inherited Members

- Public Types inherited from faudes::LoggingExecutor
enum  LogMode { LogStatistics =0x01 , LogStates =0x02 , LogEvents =0x04 , LogTime =0x08 }
 Logging mode flags, to specify what data to log. More...
 
typedef SimConditionSet::Iterator ConditionIterator
 Condition iterator: typedef. More...
 
typedef std::deque< TraceSample >::const_iterator TraceIterator
 Access buffer: iterator. More...
 
- Public Types inherited from faudes::ParallelExecutor
typedef std::vector< IdxParallelState
 Typedef for parallel discrete state. More...
 
typedef std::vector< std::map< Idx, Time::Type > > ParallelClock
 Typedef for parallel clock values. More...
 
typedef Executor::TimedState TimedState
 Provide typedef from Executor. More...
 
typedef std::vector< Executor >::const_iterator Iterator
 Read-only access to individual executors. More...
 

Member Enumeration Documentation

◆ SyncMode

Modes of synchronisation.

Enumerator
SyncStrictTime 
SyncStrictEvents 

Definition at line 177 of file sp_dplpexecutor.h.

Constructor & Destructor Documentation

◆ DeviceExecutor() [1/2]

faudes::DeviceExecutor::DeviceExecutor ( void  )

Creates an emtpy DeviceExecutor.

doxygen group

Definition at line 24 of file sp_dplpexecutor.cpp.

◆ DeviceExecutor() [2/2]

faudes::DeviceExecutor::DeviceExecutor ( const DeviceExecutor rOther)

Copy constructor.

Definition at line 30 of file sp_dplpexecutor.cpp.

◆ ~DeviceExecutor()

faudes::DeviceExecutor::~DeviceExecutor ( void  )

Explicit destructor.

Definition at line 37 of file sp_dplpexecutor.cpp.

Member Function Documentation

◆ Clear()

void faudes::DeviceExecutor::Clear ( void  )
virtual

Clear all data (generators, simulation attributes etc)

This includes the "HardwareReset" event.

Reimplemented from faudes::ProposingExecutor.

Definition at line 86 of file sp_dplpexecutor.cpp.

◆ Devicep() [1/2]

vDevice* faudes::DeviceExecutor::Devicep ( )
inline

Get device.

Retturn a refernce to the device for inspection. Note: you must not interfear with the device during synchronuous execution.

Returns
dev IO Device to use

Definition at line 309 of file sp_dplpexecutor.h.

◆ Devicep() [2/2]

void faudes::DeviceExecutor::Devicep ( vDevice dev)

Set device.

The device must be configured. You must start the device befor the first call to SyncRun. Ownership of the device stays with the caller.

Parameters
devIO Device to use

Definition at line 52 of file sp_dplpexecutor.cpp.

◆ DeviceReset()

void faudes::DeviceExecutor::DeviceReset ( void  )

Convenience: Reset the device.

Definition at line 62 of file sp_dplpexecutor.cpp.

◆ DeviceResetRequest()

bool faudes::DeviceExecutor::DeviceResetRequest ( void  )
virtual

Query the device whther it has received an external reset request.

This method will reset the request.

Returns
True, if there is such a reset request

Definition at line 117 of file sp_dplpexecutor.cpp.

◆ DeviceStart()

void faudes::DeviceExecutor::DeviceStart ( void  )

Convenience: Start the device.

Definition at line 70 of file sp_dplpexecutor.cpp.

◆ DeviceStop()

void faudes::DeviceExecutor::DeviceStop ( void  )

Convenience: Stop the device.

Definition at line 78 of file sp_dplpexecutor.cpp.

◆ DoAssign()

void faudes::DeviceExecutor::DoAssign ( const DeviceExecutor rSrc)
protected

Assignment method.

Parameters
rSrcSource to assign from

Definition at line 43 of file sp_dplpexecutor.cpp.

◆ ExecuteEvent()

bool faudes::DeviceExecutor::ExecuteEvent ( Idx  event)
virtual

Execute event.

Programmatically override any internal schedules and execute the specified event. This routine will neither synchronize generator time nor events.

Parameters
eventEvent by index
Returns
True on success

Reimplemented from faudes::LoggingExecutor.

Definition at line 129 of file sp_dplpexecutor.cpp.

◆ IsSynchronous()

bool faudes::DeviceExecutor::IsSynchronous ( void  ) const
inline

Test Syncronisation.

Returns
True, if device time and events are in sync with generator time and events.

Definition at line 284 of file sp_dplpexecutor.h.

◆ New()

DeviceExecutor* faudes::DeviceExecutor::New ( void  )
inline

Dummy factory method.

Note: the executor classes currently do not implement faudes Type RTI related function. This factory method is only to prevent registry error messages.

Definition at line 112 of file sp_dplpexecutor.h.

◆ Reset()

void faudes::DeviceExecutor::Reset ( long int  seed = 0)
virtual

Reset the DeviceExecutor.

doxygen group

Reset the executor to its initial state and reset the device, ie clear queued input event set outputs to a passive state

Parameters
seedSeed for PropossingExecutor random generator, 0<>system time

Reimplemented from faudes::ProposingExecutor.

Definition at line 92 of file sp_dplpexecutor.cpp.

◆ SyncEvents()

Idx faudes::DeviceExecutor::SyncEvents ( void  )

Execute scheduled or input events now.

If an event is scheduled for now, execute it. Otherwise, execute a input event if such is ready. Otherwise execute do nothing.

Returns
Idx of event executed, 0 for no execution or error

Definition at line 230 of file sp_dplpexecutor.cpp.

◆ SyncRun()

bool faudes::DeviceExecutor::SyncRun ( Time::Type  duration = Time::Max())

Run execution with synchronous physical signals.

Loops SyncStep until the specified amount on time expired.

Parameters
durationDuration of execution wrt generator time, Time::Max for infinite
Returns
True, for no error

Definition at line 387 of file sp_dplpexecutor.cpp.

◆ SyncStep()

Idx faudes::DeviceExecutor::SyncStep ( Time::Type  duration = Time::Max())

Execute one transition with synchronous physical signals.

Calls SyncTime, SyncEvents and SyncWait to execute one transition. It will, however, not pass more than the specified duration.

Parameters
durationMax duration of execution wrt generator time, Time::Max for unlimited
Returns
Idx of executed event or 0 for time out or error

Definition at line 359 of file sp_dplpexecutor.cpp.

◆ SyncTime()

bool faudes::DeviceExecutor::SyncTime ( void  )

Execute generator clock time to sync with device time.

If possible, execute the amount of clock time required for an exact match. Otherwise, accept the specified tolerance. As a last resort, issue a sync error.

Returns
True, on success ie synchron within tolerance.

Definition at line 151 of file sp_dplpexecutor.cpp.

◆ SyncWait()

bool faudes::DeviceExecutor::SyncWait ( Time::Type  duration = Time::Max())

Wait for input events.

Wait the specified amount of time, for the proposed time to elaps, or a input event to occur - whatever comes first. This function will not synchronise with generator time. You may call SyncTime afterwards.

Parameters
durationMax duration to wait for
Returns
True, if input events are available

Definition at line 291 of file sp_dplpexecutor.cpp.

◆ SyncWaitMs()

bool faudes::DeviceExecutor::SyncWaitMs ( int  durationms)

Wait for input events.

Wait the specified amount of time, for the proposed time to elaps, or a input event to occur - whatever comes first. This function will not synchronise with generator time. You may call SyncTime afterwards.

Note that the executor does not know about msecs, and thus the core interface referc to faudes-time units only. This function is an exception of this rule and is for convenience only.

Parameters
durationmsMax duration in msecs to wait for
Returns
True, if input events are available

Definition at line 323 of file sp_dplpexecutor.cpp.

◆ ToleranceMode()

void faudes::DeviceExecutor::ToleranceMode ( int  flag)
inline

Set synchronisation flags.

Semantics are defined via the enum typedef SyncMode.

Parameters
flagFlag word to set mode

Definition at line 191 of file sp_dplpexecutor.h.

◆ ToleranceTime()

void faudes::DeviceExecutor::ToleranceTime ( Time::Type  maxgap)
inline

Set tolerance for time synchonisation.

doxygen group

Parameters
maxgapMax acceptable amount of faudes-time units by which the generators global clock may be behind physical time

Definition at line 172 of file sp_dplpexecutor.h.

Member Data Documentation

◆ mMaxSyncGap

Time::Type faudes::DeviceExecutor::mMaxSyncGap
protected

Max gap between physical and generator clock time

Definition at line 347 of file sp_dplpexecutor.h.

◆ mSyncError

bool faudes::DeviceExecutor::mSyncError
protected

Sync error flag.

Definition at line 344 of file sp_dplpexecutor.h.

◆ mSyncMode

int faudes::DeviceExecutor::mSyncMode
protected

Mode flags for synchronisation.

Definition at line 350 of file sp_dplpexecutor.h.

◆ pDevice

vDevice* faudes::DeviceExecutor::pDevice
protected

Device reference.

Definition at line 353 of file sp_dplpexecutor.h.


The documentation for this class was generated from the following files:

libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen