AAO DRAMA/DRAMA2 C++ Interface
DRAMA C++11 and later interface
Classes | Namespaces | Typedefs | Functions
task.hh File Reference

Detailed Description

DRAMA 2 include file - Task class definition.

Author
Tony Farrell, AAO $Revision$ $Date$ $Id$
#include "DitsTypes.h"
#include <string>
#include <DitsSys.h>
#include "drama/messagehandler.hh"
#include "drama/spawnable.hh"
#include "drama/logger.hh"
#include <thread>
#include <mutex>
#include <set>
#include <memory>
#include <iostream>
#include <deque>
#include <type_traits>
#include <functional>

Go to the source code of this file.

Classes

struct  drama::nodel
 Declare an operator to be used as a deletion operator by std::shared_ptr. More...
 
class  drama::OrphanDetails
 Structure which maintains details on orphan transactions. More...
 
class  drama::RunDramaExitNotifier
 Class used to arrange for notifications when the RunDrama exits. More...
 
class  drama::Task
 A class which implements a DRAMA task. More...
 
struct  drama::TransEvtInfo
 Structure is used to store details about a DRAMA reschedule message relating to a transaction, so the information can be transferred to a thread. More...
 

Namespaces

namespace  drama
 The drama namespace contains all the classes, types etc of the DRAMA 2 implementation.
 
namespace  drama::thread
 This namespace is used for features which are particular to supporting C++11 thread based operations within DRAMA 2.
 

Typedefs

using drama::thread::ThreadActionFunction = std::function< void(TAction *, const sds::Id &)>
 Type used for functions specified drama::Task::Add().
 

Functions

template<class TaskClass >
void drama::CreateRunDramaTask ()
 Create and run a DRAMA task, with standard exception handling.
 
template<class TaskClass , typename... ParamTypes>
void drama::CreateRunDramaTask (ParamTypes... taskPars)
 Create and run a DRAMA task, with standard exception handling.