#include <BUFUInterface.h>
Public Member Functions | |
void | allocate (const UIntVec_t &fuResourceIds, xdaq::ApplicationDescriptor *fuAppDesc) |
void | discard (UInt_t buResourceId) |
FU->BU DISCARD. More... | |
bool | registerBU (BaseBU *bu, Logger log) |
register the BU to the interface More... | |
bool | registerFU (BaseFU *fu, Logger log) |
register the FU to the interface More... | |
void | take (xdaq::ApplicationDescriptor *fuAppDesc, toolbox::mem::Reference *bufRef) |
BU->FU TAKE. More... | |
~BUFUInterface () | |
Static Public Member Functions | |
static BUFUInterface * | forceNewInstance () |
static BUFUInterface * | instance () |
returns a pointer to a singleton instance of the interface More... | |
Private Member Functions | |
BUFUInterface () | |
private constructor More... | |
bool | directConnection () const |
checks if both BU and FU are connected to the interface More... | |
Private Attributes | |
BaseBU * | bu_ |
pointer to connected BU, using BaseBU interface More... | |
bool | buConn_ |
flags for BU, FU connection More... | |
Logger | buLogger_ |
loggers More... | |
BaseFU * | fu_ |
pointer to connected ResourceBroker(FU), using BaseFU interface More... | |
bool | fuConn_ |
Logger | fuLogger_ |
Static Private Attributes | |
static BUFUInterface * | instance_ = 0 |
pointer to unique instance More... | |
Definition at line 17 of file BUFUInterface.h.
BUFUInterface::~BUFUInterface | ( | ) |
Definition at line 19 of file BUFUInterface.cc.
References instance_.
|
private |
private constructor
Definition at line 155 of file BUFUInterface.cc.
Referenced by forceNewInstance(), and instance().
void BUFUInterface::allocate | ( | const UIntVec_t & | fuResourceIds, |
xdaq::ApplicationDescriptor * | fuAppDesc | ||
) |
FU->BU ALLOCATE the FU application description is required by the BU when registering the requesting FU
Definition at line 79 of file BUFUInterface.cc.
References bu_, evf::BaseFU::buildAndSendAllocate(), gather_cfg::cout, evf::BaseBU::DIRECT_BU_ALLOCATE(), directConnection(), and fu_.
|
inlineprivate |
checks if both BU and FU are connected to the interface
Definition at line 58 of file BUFUInterface.h.
References buConn_, and fuConn_.
Referenced by allocate(), discard(), registerBU(), registerFU(), and take().
void BUFUInterface::discard | ( | UInt_t | buResourceId | ) |
FU->BU DISCARD.
Definition at line 105 of file BUFUInterface.cc.
References bu_, evf::BaseFU::buildAndSendDiscard(), gather_cfg::cout, evf::BaseBU::DIRECT_BU_DISCARD(), directConnection(), and fu_.
|
static |
always returns a new instance. used to force I2O communication between BU and FU in the same process
Definition at line 34 of file BUFUInterface.cc.
References BUFUInterface().
|
static |
returns a pointer to a singleton instance of the interface
Definition at line 25 of file BUFUInterface.cc.
References BUFUInterface(), and instance_.
bool BUFUInterface::registerBU | ( | BaseBU * | bu, |
Logger | log | ||
) |
register the BU to the interface
Definition at line 39 of file BUFUInterface.cc.
References bu_, buConn_, buLogger_, directConnection(), create_public_lumi_plots::log, and summarizeEdmComparisonLogfiles::succeeded.
bool BUFUInterface::registerFU | ( | BaseFU * | fu, |
Logger | log | ||
) |
register the FU to the interface
Definition at line 59 of file BUFUInterface.cc.
References buLogger_, directConnection(), fu_, fuConn_, fuLogger_, create_public_lumi_plots::log, and summarizeEdmComparisonLogfiles::succeeded.
void BUFUInterface::take | ( | xdaq::ApplicationDescriptor * | fuAppDesc, |
toolbox::mem::Reference * | bufRef | ||
) |
BU->FU TAKE.
Definition at line 130 of file BUFUInterface.cc.
References bu_, gather_cfg::cout, directConnection(), fu_, evf::BaseFU::I2O_FU_TAKE_Callback(), and evf::BaseBU::postI2OFrame().
|
private |
pointer to connected BU, using BaseBU interface
Definition at line 66 of file BUFUInterface.h.
Referenced by allocate(), discard(), registerBU(), and take().
|
private |
flags for BU, FU connection
Definition at line 72 of file BUFUInterface.h.
Referenced by directConnection(), and registerBU().
|
private |
loggers
Definition at line 70 of file BUFUInterface.h.
Referenced by registerBU(), and registerFU().
|
private |
pointer to connected ResourceBroker(FU), using BaseFU interface
Definition at line 68 of file BUFUInterface.h.
Referenced by allocate(), discard(), registerFU(), and take().
|
private |
Definition at line 72 of file BUFUInterface.h.
Referenced by directConnection(), and registerFU().
|
private |
Definition at line 70 of file BUFUInterface.h.
Referenced by registerFU().
|
staticprivate |
pointer to unique instance
Definition at line 49 of file BUFUInterface.h.
Referenced by instance(), and ~BUFUInterface().