Fennel: DynamicParamManager Class Reference (original) (raw)
DynamicParamManager defines methods to allocate, access, and deallocate dynamic parameters. More...
#include <[DynamicParam.h](DynamicParam%5F8h-source.html)>
| 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:
- /home/pub/open/dev/fennel/exec/DynamicParam.h
- /home/pub/open/dev/fennel/exec/DynamicParam.cpp
