|
ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
|
#include <Trigger.h>


Public Types | |
| typedef Trigger_Type | type_t |
Public Member Functions | |
| Trigger () | |
| Type: NOP (no operation) | |
| Trigger (const InjectorAddress &target_injector) | |
| Type: typed but empty constructor (used for ASAP) | |
| Trigger (const Trigger &sub, uint64_t count) | |
This Trigger counts with count how often a sub trigger e.g. VRIABLEVALUE trigger fires. When this sub trigger fires the count 'th time, the META_COUNTER trigger fires itself. | |
| Trigger (const InjectorAddress &target_injector, const std::string &field, uint64_t value) | |
This Trigger fires when variable field has the value value. | |
| Trigger (const InjectorAddress &target_injector, uint64_t time_ps, bool relative=false) | |
| This Trigger fires when a specific runtime has passed. | |
| Trigger (const Trigger &cpy) | |
| Trigger & | operator= (const Trigger &cpy) |
| ~Trigger () | |
| uint64_t | getTriggerCount () const |
| const Trigger & | getSubTrigger () const |
| uint64_t | getTriggerTime () const |
| const InjectorAddress & | getInjectorAddress () const |
| const Injector_ptr & | getInjector () const |
| bool | isNOP () const |
| const std::string & | getTriggerField () const |
| const uint64_t & | getTriggerFieldValue () const |
| const type_t & | getType () const |
| bool | check (uint64_t time_ps, etiss::fault::Injector *target_injector) |
| this function checks if the Trigger has just fired. | |
| void | resolveTime (uint64_t time) |
| this function calculates in case of a TIMERELATIVE Trigger a constant TIME trigger | |
| bool | isResolved () const |
| returns if the translation from TIMERELATIVE to TIME trigger has taken place | |
| std::string | toString () const |
| operator<< can be used. | |
Public Member Functions inherited from etiss::ToString | |
| ToString () | |
| virtual | ~ToString () |
Private Member Functions | |
| void | ensure (type_t type) const |
Private Attributes | |
| type_t | type_ |
| std::string | field_ |
| std::unique_ptr< Trigger > | sub_ |
| std::unique_ptr< InjectorAddress > | inj_ |
| void * | fieldptr_ |
| uint64_t | param1_ { 0 } |
| uint64_t | param2_ { 0 } |
| typedef Trigger_Type etiss::fault::Trigger::type_t |
| etiss::fault::Trigger::Trigger | ( | ) |
Type: NOP (no operation)
Definition at line 40 of file Trigger.cpp.
References etiss::log(), and etiss::VERBOSE.

| etiss::fault::Trigger::Trigger | ( | const InjectorAddress & | target_injector | ) |
Type: typed but empty constructor (used for ASAP)
Definition at line 45 of file Trigger.cpp.
References etiss::log(), and etiss::VERBOSE.

This Trigger counts with count how often a sub trigger e.g. VRIABLEVALUE trigger fires. When this sub trigger fires the count 'th time, the META_COUNTER trigger fires itself.
Definition at line 52 of file Trigger.cpp.
References etiss::log(), and etiss::VERBOSE.

| etiss::fault::Trigger::Trigger | ( | const InjectorAddress & | target_injector, |
| const std::string & | field, | ||
| uint64_t | value | ||
| ) |
This Trigger fires when variable field has the value value.
Definition at line 57 of file Trigger.cpp.
References etiss::log(), and etiss::VERBOSE.

| etiss::fault::Trigger::Trigger | ( | const InjectorAddress & | target_injector, |
| uint64_t | time_ps, | ||
| bool | relative = false |
||
| ) |
This Trigger fires when a specific runtime has passed.
Definition at line 66 of file Trigger.cpp.
References etiss::log(), and etiss::VERBOSE.

| etiss::fault::Trigger::Trigger | ( | const Trigger & | cpy | ) |
Definition at line 76 of file Trigger.cpp.
| etiss::fault::Trigger::~Trigger | ( | ) |
Definition at line 132 of file Trigger.cpp.
| bool etiss::fault::Trigger::check | ( | uint64_t | time_ps, |
| etiss::fault::Injector * | target_injector | ||
| ) |
this function checks if the Trigger has just fired.
TODO decide how to handle the case of multiple trigger checks at the same simulation time
Definition at line 143 of file Trigger.cpp.
References etiss::ERROR, etiss::fault::Injector::fastFieldAccessPtr(), field_, fieldptr_, inj_, etiss::log(), param1_, param2_, resolveTime(), sub_, type_, uint64_t, etiss::VERBOSE, and etiss::WARNING.

|
private |
Definition at line 30 of file Trigger.cpp.
References etiss::FATALERROR, etiss::log(), and type_.
Referenced by getSubTrigger(), getTriggerCount(), getTriggerField(), getTriggerFieldValue(), and getTriggerTime().


| const Injector_ptr & etiss::fault::Trigger::getInjector | ( | ) | const |
Definition at line 299 of file Trigger.cpp.
References etiss::fault::InjectorAddress::getInjector(), inj_, sub_, and type_.
Referenced by operator=().


| const InjectorAddress & etiss::fault::Trigger::getInjectorAddress | ( | ) | const |
Definition at line 294 of file Trigger.cpp.
References inj_.
Referenced by operator=().

| const Trigger & etiss::fault::Trigger::getSubTrigger | ( | ) | const |
Definition at line 271 of file Trigger.cpp.
References ensure(), and sub_.
Referenced by operator=().


| uint64_t etiss::fault::Trigger::getTriggerCount | ( | ) | const |
Definition at line 265 of file Trigger.cpp.
References ensure(), and param1_.

| const std::string & etiss::fault::Trigger::getTriggerField | ( | ) | const |
| const uint64_t & etiss::fault::Trigger::getTriggerFieldValue | ( | ) | const |
| uint64_t etiss::fault::Trigger::getTriggerTime | ( | ) | const |
| const Trigger::type_t & etiss::fault::Trigger::getType | ( | ) | const |
Definition at line 345 of file Trigger.cpp.
References type_.
| bool etiss::fault::Trigger::isNOP | ( | ) | const |
Definition at line 311 of file Trigger.cpp.
| bool etiss::fault::Trigger::isResolved | ( | ) | const |
returns if the translation from TIMERELATIVE to TIME trigger has taken place
Definition at line 256 of file Trigger.cpp.
Definition at line 81 of file Trigger.cpp.
References field_, fieldptr_, getInjector(), getInjectorAddress(), getSubTrigger(), inj_, param1_, param2_, sub_, and type_.

| void etiss::fault::Trigger::resolveTime | ( | uint64_t | time | ) |
this function calculates in case of a TIMERELATIVE Trigger a constant TIME trigger
Definition at line 242 of file Trigger.cpp.
References etiss::log(), param1_, sub_, type_, and etiss::VERBOSE.
Referenced by check().


| std::string etiss::fault::Trigger::toString | ( | ) | const |
operator<< can be used.
Definition at line 350 of file Trigger.cpp.
References field_, param1_, param2_, and type_.
Referenced by etiss::fault::Injector::acceleratedTrigger(), etiss::fault::Injector::addTrigger(), and etiss::fault::Injector::removeTrigger().

|
private |
Definition at line 123 of file Trigger.h.
Referenced by check(), getTriggerField(), operator=(), and toString().
|
private |
Definition at line 126 of file Trigger.h.
Referenced by check(), operator=(), and ~Trigger().
|
private |
Definition at line 125 of file Trigger.h.
Referenced by check(), getInjector(), getInjectorAddress(), operator=(), and ~Trigger().
|
private |
Definition at line 127 of file Trigger.h.
Referenced by check(), getTriggerCount(), getTriggerFieldValue(), getTriggerTime(), operator=(), resolveTime(), and toString().
|
private |
Definition at line 128 of file Trigger.h.
Referenced by check(), operator=(), and toString().
|
private |
Definition at line 124 of file Trigger.h.
Referenced by check(), getInjector(), getSubTrigger(), getTriggerField(), getTriggerFieldValue(), getTriggerTime(), isNOP(), isResolved(), operator=(), and resolveTime().
|
private |
Definition at line 122 of file Trigger.h.
Referenced by check(), ensure(), getInjector(), getTriggerField(), getTriggerFieldValue(), getTriggerTime(), getType(), isNOP(), isResolved(), operator=(), resolveTime(), toString(), and ~Trigger().