51 std::string opt = type;
53 if ( opt ==
"expand" ) {
100 return name_link.str();
137 template <
class T_actor>
138 DLActor *
Add(
const Char_t *name_left,
const Char_t *name_new_actor,
const Char_t *name_right =
"-",
const Char_t *conf_dir =
"./")
140 return BaseEmulator::AddLoader<DLActor,T_actor>(name_left,name_new_actor,name_right,conf_dir,T_actor::process_config);
142 template <
class T_actor,
class T_Configurator>
143 DLActor *
Add(
const Char_t *name_left,
const Char_t *name_new_actor,
const Char_t *name_right =
"-",
const Char_t *conf_dir =
"./")
145 return BaseEmulator::AddLoader<DLActor,T_actor>(name_left,name_new_actor,name_right,conf_dir,T_Configurator::process_config);
virtual Bool_t SetReadyforProducer()
Prepare the connection so that data can be produced by the left actor : return false if someting wron...
DLActor * Add(const Char_t *name_left, const Char_t *name_new_actor, const Char_t *name_right="-", const Char_t *conf_dir="./")
header file for BaseEmulator.cpp
FrameBlock * fBlock
Block use to exchange data between the producer and the consumer.
DEmulator(std::string name="DEmulator")
virtual Long64_t GetMaxSize(UInt_t=0u) const
max size of the block
It implements an expandable block of Frame.
DLActor * Add(const Char_t *name_left, const Char_t *name_new_actor, const Char_t *name_right="-", const Char_t *conf_dir="./")
An general emulator, could run or not in multi-threading environement.
Default connection between actors : to be used in non-multi threaded programs.
virtual ALoadedActor * GetProducer()
to get back the producer
virtual FrameBlock * GetBlock(const Char_t)
return the address of the block - opt = p => producer, c => consumer (different in case the connectio...
ALoadedActor * fConsumer
right actor ==> Consumer
virtual std::string GetName() const
name of the connection, based on actors's names and size of the block
Default loader : to be used in non-multi threaded programs.
An actor looded in an emulator.
virtual ALoadedActor * GetConsumer()
to get back the consumer
virtual Bool_t IsReadyforConsumer()
test if some data are ready to be sent to the consumer (right part of the connection) ...
virtual void LinkActors(ALoadedActor *left, ALoadedActor *middle, ALoadedActor *right)
link left and right ... depends on the emulator's implementation
virtual ~DActorConnection()
Base class for an emulator.
virtual Bool_t IsReadyforProducer()
test if some data can be collected be the producer (left part of the connection)
ALoadedActor * fProducer
left actor ==> Producer
const std::string & GetName() const
get loaded actor's name
DLActor(const Char_t *name)
DActorConnection(ALoadedActor *producer, ALoadedActor *consumer, Int_t size, const Char_t *type="")
It implements an in-memory block of Frames.
Base class that connects two actors in a general topology.
virtual Bool_t SetReadyforConsumer()
Prepare the connection so that data can be consumed by the right actor: return false if someting wron...