Abstract base class for a replay-based trace analysis task.
More...
#include <pearl/ReplayTask.h>
ReplayTask provides an interface for a trace replay task. Its execute() method will run a trace replay on a given trace using the PEARL callback system.
Users can inherit from one of the derived classes ForwardReplayTask or BackwardReplayTask, which will perform a default PEARL forward or backward replay, respectively. To specify a different replay engine, users can also inherit directly from ReplayTask and overwrite the replay() method.
◆ ~ReplayTask()
virtual pearl::ReplayTask::~ReplayTask |
( |
| ) |
|
|
virtual |
◆ ReplayTask()
◆ execute()
virtual bool pearl::ReplayTask::execute |
( |
| ) |
|
|
virtual |
◆ finish()
virtual bool pearl::ReplayTask::finish |
( |
| ) |
|
|
protectedvirtual |
◆ prepare()
virtual bool pearl::ReplayTask::prepare |
( |
| ) |
|
|
protectedvirtual |
◆ register_callback() [1/2]
template<class derivedT >
Convenience function to register a callback member-function for PEARL event records. You can use this function in a derived class to register one of the classes' member functions as callback function for PEARL trace replay.
Example:
public:
MyReplay(const GlobalDefs& defs, LocalTrace& trace)
{
}
protected:
void cb_send(const CallbackManager& cbmanager, int user_event,
const Event& event, CallbackData* cdata)
{
}
};
- Parameters
-
event | PEARL event to register callback for |
fptr | Pointer to callback member function |
◆ register_callback() [2/2]
template<class derivedT >
Convenience function to register a callback member-function for user-defined events. You can use this function in a derived class to register one of the classes' member functions as callback function for PEARL trace replay.
Example:
public:
MyReplay(const GlobalDefs& defs, LocalTrace& trace)
{
}
protected:
void cb_dowork(const CallbackManager& cbmanager, int user_event,
const Event& event, CallbackData* cdata)
{
}
};
- Parameters
-
user_event | User-defined event to register callback for |
fptr | Pointer to callback member function |
◆ replay()
virtual bool pearl::ReplayTask::replay |
( |
| ) |
|
|
protectedpure virtual |
Pure virtual member function defining the interface for executing a replay. It needs to be overwritten in derived subclasses to define the exact replay behavior.
- Returns
- Should return true if the replay was sucessful, false otherwise
Implemented in pearl::BackwardReplayTask, and pearl::ForwardReplayTask.
◆ m_cbdata
◆ m_cbmanager
◆ m_defs
◆ m_trace
The documentation for this class was generated from the following file:
void register_callback(event_t event, void(derivedT::*fptr)(const CallbackManager &, int, const Event &, CallbackData *))
Definition: ReplayTask.h:173