ROOT logo
AliRoot » HLT » BASE » AliHLTDataBuffer

class AliHLTDataBuffer: public TObject, public AliHLTLogging

This file is property of and copyright by the
ALICE Experiment at CERN, All rights reserved.

Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no>
for The ALICE HLT Project.

Permission to use, copy, modify and distribute this software and its
documentation strictly for non-commercial purposes is hereby granted
without fee, provided that the above copyright notice appears in all
copies and that both the copyright notice and this permission notice
appear in the supporting documentation. The authors make no claims
about the suitability of this software for any purpose. It is
provided "as is" without express or implied warranty.

Function Members (Methods)

public:
AliHLTDataBuffer()
virtual~AliHLTDataBuffer()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static const char*AliHLTLogging::BuildLogString(const char* format, va_list& ap, bool bAppend = false)
intAliHLTLogging::CheckFilter(AliHLTComponentLogSeverity severity) const
intAliHLTLogging::CheckGroup(const char* originClass) const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
intFindConsumer(const AliHLTComponent* pConsumer, int bAllLists = 1)
intFindMatchingDataBlocks(const AliHLTComponent* pConsumer, AliHLTComponentDataTypeList* tgtList = 0)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
intForward(AliHLTTask* pSrcTask, AliHLTComponentBlockData* pBlockDesc)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
static AliHLTComponentLogSeverityAliHLTLogging::GetGlobalLoggingLevel()
virtual const char*TObject::GetIconName() const
const char*AliHLTLogging::GetKeyword() const
static AliHLTComponentLogSeverityAliHLTLogging::GetLocalLoggingDefault()
AliHLTComponentLogSeverityAliHLTLogging::GetLocalLoggingLevel()
virtual const char*TObject::GetName() const
intGetNofActiveConsumers() const
intGetNofConsumers() const
intGetNofPendingConsumers() const
intGetNofSegments() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual void*AliHLTLogging::GetParameter() const
AliHLTUInt8_t*GetTargetBuffer(int iMinSize)
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
static intAliHLTLogging::Init(AliHLTfctLogging pFun)
static intAliHLTLogging::InitAliLogFunc(AliHLTComponentHandler* pHandler)
static intAliHLTLogging::InitAliLogTrap(AliHLTComponentHandler* pHandler)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
intIsEmpty()
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
intAliHLTLogging::Logging(AliHLTComponentLogSeverity severity, const char* origin, const char* keyword, const char* message)
virtual intAliHLTLogging::LoggingVarargs(AliHLTComponentLogSeverity severity, const char* originClass, const char* originFunc, const char* file, int line) const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
static intAliHLTLogging::Message(void* param, AliHLTComponentLogSeverity severity, const char* origin, const char* keyword, const char* message)
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(const char* option) const
static intPrintStatistics()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
intRelease(AliHLTComponentBlockData* pBlockDesc, const AliHLTComponent* pConsumer, const AliHLTTask* pOwnerTask)
intReleaseForwardedBlock(AliHLTComponentBlockData* pBlockDesc, const AliHLTTask* pOwnerTask)
intReset()
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
intAliHLTLogging::SendMessage(AliHLTComponentLogSeverity severity, const char* originClass, const char* originFunc, const char* file, int line, const char* message) const
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
static intAliHLTLogging::SetBlackList(const char* classnames)
intSetConsumer(AliHLTComponent* pConsumer)
voidAliHLTLogging::SetDefaultKeyword(const char* keyword)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static intSetGlobalEventCount(AliHLTUInt32_t eventCount)
static voidAliHLTLogging::SetGlobalLoggingLevel(AliHLTComponentLogSeverity level)
const char*AliHLTLogging::SetKeyword(const char* keyword)
static voidAliHLTLogging::SetLocalLoggingDefault(AliHLTComponentLogSeverity level)
virtual voidSetLocalLoggingLevel(AliHLTComponentLogSeverity level)
static const char*AliHLTLogging::SetLogString(const void* p, const char* pfmt, const char* format)
static voidTObject::SetObjectStat(Bool_t stat)
intSetSegments(AliHLTUInt8_t* pTgt, AliHLTComponentBlockData* arraySegments, int iSize)
virtual voidTObject::SetUniqueID(UInt_t uid)
static intAliHLTLogging::SetWhiteList(const char* classnames)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
intSubscribe(const AliHLTComponent* pConsumer, AliHLTComponentBlockDataList& blockDescList)
voidAliHLTLogging::SwitchAliLog(int sw)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
intResetDataBuffer()

Data Members

public:
static ostringstreamAliHLTLogging::fgLogstr! transient
protected:
static void*AliHLTLogging::fgAliLoggingFunc! transient
private:
vector<AliHLTConsumerDescriptor*>fActiveConsumerssee above
vector<AliHLTConsumerDescriptor*>fConsumerssee above
AliHLTUInt32_tfFlagssee above
vector<AliHLTTask*>fForwardedSegmentSources! transient
vector<AliHLTDataBuffer::AliHLTDataSegment,allocator<AliHLTDataBuffer::AliHLTDataSegment> >fForwardedSegments! transient
vector<AliHLTConsumerDescriptor*>fReleasedConsumerssee above
vector<AliHLTDataBuffer::AliHLTDataSegment,allocator<AliHLTDataBuffer::AliHLTDataSegment> >fSegmentssee above
static vector<AliHLTRawBuffer*>fgActiveBufferssee above
static AliHLTUInt32_tfgEventCount!transient
static vector<AliHLTRawBuffer*>fgFreeBufferssee above
static AliHLTLoggingfgLoggingsee above
static AliHLTUInt32_tfgMarginsee above
static intfgNofInstancessee above
static const charfgkSafetyPattern[2147483647]!transient
static const Int_tfgkSafetyPatternSizesee above
AliHLTDataBuffer::AliHLTRawBuffer*fpBuffer! transient

Class Charts

Inheritance Chart:
TObject
AliHLTLogging
AliHLTDataBuffer

Function documentation

AliHLTDataBuffer()
 see header file for class documentation
 or
 refer to README to build package
 or
 visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
~AliHLTDataBuffer()
 see header file for function documentation
int SetConsumer(AliHLTComponent* pConsumer)
 see header file for function documentation
int FindMatchingDataBlocks(const AliHLTComponent* pConsumer, AliHLTComponentDataTypeList* tgtList = 0)
 see header file for function documentation
int FindMatchingDataSegments(const AliHLTComponent* pConsumer, AliHLTDataBuffer::AliHLTDataSegmentList& tgtList)
 see header file for function documentation
int Subscribe(const AliHLTComponent* pConsumer, AliHLTComponentBlockDataList& blockDescList)
 see header file for function documentation
int Release(AliHLTComponentBlockData* pBlockDesc, const AliHLTComponent* pConsumer, const AliHLTTask* pOwnerTask)
 see header file for function documentation
int ReleaseForwardedBlock(AliHLTComponentBlockData* pBlockDesc, const AliHLTTask* pOwnerTask)
 see header file for function documentation
int Forward(AliHLTTask* pSrcTask, AliHLTComponentBlockData* pBlockDesc)
 see header file for function documentation
AliHLTUInt8_t* GetTargetBuffer(int iMinSize)
 see header file for function documentation
int SetSegments(AliHLTUInt8_t* pTgt, AliHLTComponentBlockData* arraySegments, int iSize)
 see header file for function documentation
int IsEmpty()
 see header file for function documentation
int GetNofSegments() const
 see header file for function documentation
int GetNofConsumers() const
 see header file for function documentation
int GetNofPendingConsumers() const
 see header file for function documentation
int GetNofActiveConsumers() const
 see header file for function documentation
int SetRawBufferDataSize(AliHLTDataBuffer::AliHLTRawBuffer* pBuffer, AliHLTUInt32_t size) const
 see header file for function documentation
int ReleaseRawBuffer(AliHLTDataBuffer::AliHLTRawBuffer* pBuffer)
 see header file for function documentation
int DeleteRawBuffers()
 see header file for function documentation
int PrintStatistics()
 see header file for function documentation
AliHLTConsumerDescriptor* FindConsumer(const AliHLTComponent* pConsumer, vector<AliHLTConsumerDescriptor*,allocator<AliHLTConsumerDescriptor*> >& list) const
 see header file for function documentation
int ResetDataBuffer()
 see header file for function documentation
int Reset()
 see header file for function documentation
int ChangeConsumerState(AliHLTConsumerDescriptor* pDesc, vector<AliHLTConsumerDescriptor*,allocator<AliHLTConsumerDescriptor*> >& srcList, vector<AliHLTConsumerDescriptor*,allocator<AliHLTConsumerDescriptor*> >& tgtList)
 see header file for function documentation
int CleanupConsumerList()
 see header file for function documentation
int FindConsumer(const AliHLTComponent* pConsumer, int bAllLists = 1)
 see header file for function documentation
void Print(const char* option) const
 print info for data buffer
AliHLTDataBuffer()
 constructors and destructors
 standard constructor

void SetLocalLoggingLevel(AliHLTComponentLogSeverity level)
   * Set local logging level
   * logging filter for individual object

int SetGlobalEventCount(AliHLTUInt32_t eventCount)
   * Set the global event count.
   * The event count is deployed to find buffers which have not been used
   * for a while. In such a case to policy to find an appropriate buffer is
   * adjusted.

{fgEventCount=eventCount; return 0;}
AliHLTDataSegment& operator=(const AliHLTDataBuffer& )
 AliHLTDataSegment just stores external pointers and properties
AliHLTRawBuffer* CreateRawBuffer(AliHLTUInt32_t size)
 global buffer handling, internal use only

   * Create a raw buffer of a certain size.
   * The function tries to find a buffer of the given size (or a bit bigger by a
   * certain margin @ref fgMargin) from the list of free buffers.
   * If no buffer is available, a new one is created and added to the buffer handling.
   * @param size            min. size of the requested buffer
   * @return pointer to raw buffer