Fennel: DynamicParamManager Class Reference (original) (raw)

DynamicParamManager defines methods to allocate, access, and deallocate dynamic parameters. More...

#include <[DynamicParam.h](DynamicParam%5F8h-source.html)>

List of all members.

Public Member Functions
void createParam (DynamicParamId dynamicParamId, const TupleAttributeDescriptor &attrDesc, bool failIfExists=true)
Creates a new dynamic parameter.
void createCounterParam (DynamicParamId dynamicParamId, bool failIfExists=true)
Creates a new dynamic parameter that will be used as a counter.
void deleteParam (DynamicParamId dynamicParamId)
Deletes an existing dynamic parameter.
void writeParam (DynamicParamId dynamicParamId, const TupleDatum &src)
Writes a value to a dynamic parameter, overwriting any previous value.
DynamicParam const & getParam (DynamicParamId dynamicParamId)
Accesses a dynamic parameter by reference.
void readParam (DynamicParamId dynamicParamId, TupleDatum &dest)
Reads a dynamic parameter, copying the parameter into caller's TupleDatum.
void incrementCounterParam (DynamicParamId dynamicParamId)
Increments a dynamic parameter that corresponds to a counter.
void decrementCounterParam (DynamicParamId dynamicParamId)
Decrements a dynamic parameter that corresponds to a counter.
void deleteAllParams ()
Deletes all dynamic parameters.
Private Types
typedef std::map< DynamicParamId, SharedDynamicParam > ParamMap
typedef ParamMap::const_iterator ParamMapConstIter
Private Member Functions
DynamicParam & getParamInternal (DynamicParamId dynamicParamId)
void createParam (DynamicParamId dynamicParamId, SharedDynamicParam param, bool failIfExists)
Private Attributes
StrictMutex mutex
ParamMap paramMap

Detailed Description

DynamicParamManager defines methods to allocate, access, and deallocate dynamic parameters.

It is multi-thread safe (but see warning on getParam).

Definition at line 67 of file DynamicParam.h.


Member Typedef Documentation


Member Function Documentation

DynamicParam & DynamicParamManager::getParamInternal ( DynamicParamId dynamicParamId ) [private]
void DynamicParamManager::createParam ( DynamicParamId dynamicParamId,
SharedDynamicParam param,
bool failIfExists
) [private]
void DynamicParamManager::createParam ( DynamicParamId dynamicParamId,
const TupleAttributeDescriptor & attrDesc,
bool failIfExists = true
)

Creates a new dynamic parameter.

Initially, a dynamic parameter has value NULL.

Parameters:

dynamicParamId unique ID of parameter within this manager; IDs need not be contiguous, and must be assigned by some other authority
attrDesc descriptor for data values to be stored
failIfExists if true (the default) an assertion failure will occur if dynamicParamId is already in use

Definition at line 40 of file DynamicParam.cpp.

References createParam(), and mutex.

void DynamicParamManager::createCounterParam ( DynamicParamId dynamicParamId,
bool failIfExists = true
)

Creates a new dynamic parameter that will be used as a counter.

Initializes the parameter value to 0. The counter parameter can be used to do atomic increments and decrements.

Parameters:

dynamicParamId unique ID of parameter within this manager; IDs need not be contiguous, and must be assigned by some other authority
failIfExists if true (the default) an assertion failure will occur if dynamicParamId is already in use

Definition at line 65 of file DynamicParam.cpp.

References createParam(), mutex, StandardTypeDescriptorFactory::newDataType(), and STANDARD_TYPE_INT_64.

void DynamicParamManager::deleteParam ( DynamicParamId dynamicParamId )

Deletes an existing dynamic parameter.

Parameters:

dynamicParamId ID with which parameter was created

Definition at line 85 of file DynamicParam.cpp.

References mutex, and paramMap.

void DynamicParamManager::writeParam ( DynamicParamId dynamicParamId,
const TupleDatum & src
)
DynamicParam const & DynamicParamManager::getParam ( DynamicParamId dynamicParamId )

Accesses a dynamic parameter by reference.

Parameters:

dynamicParamId ID with which parameter was created

Returns:

read-only reference to dynamic parameter

Definition at line 107 of file DynamicParam.cpp.

References getParamInternal(), and mutex.

void DynamicParamManager::readParam ( DynamicParamId dynamicParamId,
TupleDatum & dest
)
void DynamicParamManager::incrementCounterParam ( DynamicParamId dynamicParamId )
void DynamicParamManager::decrementCounterParam ( DynamicParamId dynamicParamId )

| void DynamicParamManager::deleteAllParams | ( | | ) | | ----------------------------------------- | - | | - |


Member Data Documentation


The documentation for this class was generated from the following files:


Generated on Mon Jun 22 04:00:30 2009 for Fennel by doxygen 1.5.1