#include <instant.h>
Public Member Functions | |
Instant () | |
~Instant () | |
int | set (const unsigned int *handleArray, const unsigned int nelem, const chtype _dbrType, const CTYPE *val, int *statusArray) |
Sends ca_put messages to IOC and waits until end before flushing. | |
int | set (const unsigned int _handle, const chtype dbrType, const CTYPE *_val) |
Set values of data type CTYPE. | |
int | get (const unsigned int _handle, const chtype dbrType, CTYPE *_val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) |
Retrieve values of data type CTYPE. | |
int | get (const unsigned int _handle, const chtype dbrType, CTYPE *_val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) |
int | get (const unsigned int _handle, const chtype dbrType, CTYPE *_val) |
int | getCache (const unsigned int _handle, const chtype dbrType, CTYPE *_val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts) |
Retrieve cached values of data type CTYPE. | |
int | getCache (const unsigned int _handle, const chtype dbrType, CTYPE *_val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity) |
int | getCache (const unsigned int _handle, const chtype dbrType, CTYPE *_val) |
int | getCache (const unsigned int *handleArray, const unsigned int nelem, const chtype _dbrType, CTYPE *val, int *statusArray, dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity, epicsTimeStamp *ts) |
retrieve cached data from an array of handles | |
int | getCache (const unsigned int *handleArray, const unsigned int nelem, const chtype _dbrType, CTYPE *val, int *statusArray, dbr_short_t *alarmStatus, dbr_short_t *alarmSeverity) |
int | getCache (const unsigned int *handleArray, const unsigned int nelem, const chtype _dbrType, CTYPE *val, int *statusArray) |
int | setAndGet (const unsigned int handleSet, const chtype dbrType, CTYPE valSet, CTYPE &valGet) |
Set followed by an immediate get. | |
int | setAndMatch (const unsigned int handleSet, const chtype dbrType, CTYPE valSet, const unsigned int handleMatch, CTYPE tolerance, double timeout, bool printFlag) |
Set Channel 1 followed by a readback of Channel 2 Method verifies whether or not the 2 values agree within the given tolerance and timeout Method returns with ECA_NORMAL as soon as a match is reached. | |
int | setAndMatchMany (std::vector< unsigned int > handleSetV, const chtype dbrType, std::vector< CTYPE > valSet, std::vector< unsigned int > handleMatch, CTYPE tolerance, double timeout, bool printFlag) |
Set Channels followed by a corresponding readback of Channels Method verifies whether or not the set/readback values agree within the given tolerance and timeout Method returns with ECA_NORMAL as soon as a match is reached. | |
int | setTriggerAndMatchMany (std::vector< unsigned int > handleSetV, const chtype dbrType, std::vector< CTYPE > valSet, std::vector< unsigned int > handleAction, std::vector< std::string > valAction, std::vector< unsigned int > handleMatch, CTYPE tolerance, double timeout, bool printFlag) |
int | matchMany (const chtype dbrType, std::vector< CTYPE > valSet, std::vector< unsigned int > handleMatch, CTYPE tolerance, double timeout, bool printFlag) |
Set Channels followed by a corresponding readback of Channels Method verifies whether or not the set/readback values agree within the given tolerance and timeout Method returns with ECA_NORMAL as soon as a match is reached. | |
int | match (const chtype dbrType, CTYPE valSet, unsigned int handleMatch, CTYPE tolerance, double timeout, bool printFlag) |
Set Channel followed by a corresponding readback of Channel Method verifies whether or not the set/readback values agree within the given tolerance and timeout Method returns with ECA_NORMAL as soon as a match is reached. | |
int | setMany (std::vector< unsigned int > handleSet, const chtype dbrType, std::vector< CTYPE > valSet, bool printFlag) |
int | compareAndMatchMany (std::vector< unsigned int > handleSet, const chtype dbrType, std::vector< CTYPE > valSet, std::vector< unsigned int > handleMatch, CTYPE tolerance, double timeout, bool printFlag) |
Set Channels followed by a corresponding readback of Channels Method verifies whether or not the set/readback values agree within the given tolerance and timeout Method returns with ECA_NORMAL as soon as a match is reached. | |
int | setManyString (std::vector< unsigned int > handleSet, std::vector< std::string > valSet, bool printFlag) |
int | setAndGetString (const unsigned int handleSet, std::string valSet, std::string &valGet) |
Set followed by an immediate get. | |
int | setAndGetDbrString (const unsigned int handleSet, dbr_string_t valSet, dbr_string_t &valGet) |
Set followed by an immediate get. | |
Private Member Functions | |
int | clientRequests (const unsigned int _handle, const chtype dbrType, const CTYPE *_val) |
Data converted from client dataType into native datatype required by put Method. | |
int | clientRequests (const unsigned int _handle, const chtype dbrType, CTYPE *_val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts, bool isCacheRequest) |
Data converted into datatype requested by client. | |
Private Attributes | |
Transpose< dbr_string_t > | renderString |
Transpose< dbr_short_t > | renderShort |
Transpose< dbr_float_t > | renderFloat |
Transpose< dbr_enum_t > | renderEnum |
Transpose< dbr_char_t > | renderChar |
Transpose< dbr_long_t > | renderLong |
Transpose< dbr_double_t > | renderDouble |
CAFEStatus | cafeStatus |
Granules | cafeGranules |
PolicyHelper | policyHelper |
HandleHelper | helper |
Conduit | cc |
ChannelTimeoutPolicy | channelTimeoutPolicyGet |
ChannelRequestPolicy | channelRequestPolicyGet |
ChannelRequestStatus | channelRequestStatusGet |
ChannelRequestDataTypePolicy | channelRequestDataTypePolicy |
ChannelRequestMetaDataClient | channelRequestMetaDataClient |
int | status |
int Instant< CTYPE >::clientRequests | ( | const unsigned int | _handle, | |
const chtype | _dbrType, | |||
CTYPE * | _val, | |||
dbr_short_t & | alarmStatus, | |||
dbr_short_t & | alarmSeverity, | |||
epicsTimeStamp & | ts, | |||
bool | isCacheRequest | |||
) | [inline, private] |
Data converted into datatype requested by client.
_handle | input: handle | |
_dbrType | input: chtype | |
_val | input:array of CTYPE | |
alarmStatus | output | |
alarmSeverity | output | |
ts | output: epicsTimeStamp | |
isCacheRequest,: | input: bool true if cached data requested |
References __METHOD__, Transpose< CTYPE >::get(), Transpose< dbr_string_t >::get(), ICAFE_NORMAL, Instant< CTYPE >::renderChar, Instant< CTYPE >::renderDouble, Instant< CTYPE >::renderEnum, Instant< CTYPE >::renderFloat, Instant< CTYPE >::renderLong, Instant< CTYPE >::renderShort, Instant< CTYPE >::renderString, and Instant< CTYPE >::status.
int Instant< CTYPE >::clientRequests | ( | const unsigned int | _handle, | |
const chtype | _dbrType, | |||
const CTYPE * | _val | |||
) | [inline, private] |
Data converted from client dataType into native datatype required by put Method.
_handle | input: handle | |
_dbrType | input: chtype | |
_val | input:array of CTYPE |
References __METHOD__, Instant< CTYPE >::cafeStatus, cs, ECAFE_INVALID_HANDLE, ECAFE_INVALID_SWITCH_CASE, ICAFE_NORMAL, Transpose< CTYPE >::put(), Transpose< dbr_string_t >::putString(), Instant< CTYPE >::renderChar, Instant< CTYPE >::renderDouble, Instant< CTYPE >::renderEnum, Instant< CTYPE >::renderFloat, Instant< CTYPE >::renderLong, Instant< CTYPE >::renderShort, Instant< CTYPE >::renderString, CAFEStatus::report(), and Instant< CTYPE >::status.
Referenced by Instant< CTYPE >::get(), Instant< CTYPE >::getCache(), and Instant< CTYPE >::set().
int Instant< CTYPE >::compareAndMatchMany | ( | std::vector< unsigned int > | handleSet, | |
const chtype | dbrType, | |||
std::vector< CTYPE > | valSet, | |||
std::vector< unsigned int > | handleMatch, | |||
CTYPE | tolerance, | |||
double | timeout, | |||
bool | printFlag | |||
) | [inline] |
Set Channels followed by a corresponding readback of Channels
Method verifies whether or not the set/readback values agree within the given tolerance and timeout
Method returns with ECA_NORMAL as soon as a match is reached.
handleSet | input: vector of handleSet | |
dbrType | input: chtype of set value | |
valSet | input: vector of CTYPE values to set | |
handleMatch | input: vector of handles of readback channel | |
tolerance | input: CTYPE of tolerance margin | |
timeout | input: double value; maximum time allowed for agreement to occur | |
printFlag | input: bool, set to true for diagnostics |
valGet[i]=valGetA[0][i];
References __METHOD__, Connect::channelMonitorPolicy, ECAFE_HANDLE_MISMATCH_SET_AND_MATCH, ECAFE_TIMEOUT_SET_AND_MATCH, CAFENUM::FLUSH_AUTOMATIC, Instant< CTYPE >::get(), Instant< CTYPE >::getCache(), HandleHelper::getMonitorPolicyVector(), HandleHelper::getNelemClient(), HandleHelper::getNelemNative(), HandleHelper::getNelemRequest(), HandleHelper::getPVFromHandle(), HandleHelper::getStatus(), ChannelOpenPolicy::getWhenToFlushSendBuffer(), Instant< CTYPE >::helper, ICAFE_NORMAL, HandleHelper::isChannelConnected(), Connect::monitorStart(), Connect::monitorStop(), HandleHelper::printHandle(), CAFEStatus::report(), HandleHelper::setNelem(), HandleHelper::setNelemToRetrieveFromCache(), ChannelOpenPolicy::setWhenToFlushSendBuffer(), and Instant< CTYPE >::status.
int Instant< CTYPE >::get | ( | const unsigned int | _handle, | |
const chtype | dbrType, | |||
CTYPE * | _val | |||
) | [inline] |
int Instant< CTYPE >::get | ( | const unsigned int | _handle, | |
const chtype | dbrType, | |||
CTYPE * | _val, | |||
dbr_short_t & | alarmStatus, | |||
dbr_short_t & | alarmSeverity | |||
) | [inline] |
int Instant< CTYPE >::get | ( | const unsigned int | _handle, | |
const chtype | _dbrType, | |||
CTYPE * | _val, | |||
dbr_short_t & | alarmStatus, | |||
dbr_short_t & | alarmSeverity, | |||
epicsTimeStamp & | ts | |||
) | [inline] |
Retrieve values of data type CTYPE.
_handle | input: handle to CAFEConduit object | |
_dbrType | input: chtype | |
_val | output: value/array of values of datatype const CTYPE | |
alarmStatus | output | |
alarmSeverity | output | |
ts | output: epicsTimeStamp |
References __METHOD__, Instant< CTYPE >::cafeGranules, cafeMutex, Instant< CTYPE >::cafeStatus, Granules::channelExecuteGet(), Granules::channelPrepareGet(), Instant< CTYPE >::channelRequestMetaDataClient, Granules::channelVerifyGet(), Instant< CTYPE >::clientRequests(), cs, ECAFE_INVALID_HANDLE, CAFENUM::GET_FROM_CACHE, Instant< CTYPE >::getCache(), ChannelRequestMetaData::getDbrDataType(), HandleHelper::getNmonitorData(), Instant< CTYPE >::helper, ICAFE_NORMAL, MUTEX, CAFEStatus::report(), and Instant< CTYPE >::status.
Referenced by Instant< CTYPE >::compareAndMatchMany(), CAFE::get(), CAFE::getCache(), CAFE::getCacheDbrStringArray(), CAFE::getCacheDouble(), CAFE::getCacheDoubleArray(), CAFE::getCacheString(), CAFE::getCtrlCache(), CAFE::getWFAsString(), Instant< CTYPE >::matchMany(), Instant< CTYPE >::setAndGet(), Instant< dbr_short_t >::setAndGetDbrString(), Instant< dbr_short_t >::setAndGetString(), Instant< CTYPE >::setAndMatch(), and Instant< CTYPE >::setAndMatchMany().
int Instant< CTYPE >::getCache | ( | const unsigned int * | handleArray, | |
const unsigned int | nelem, | |||
const chtype | _dbrType, | |||
CTYPE * | val, | |||
int * | statusArray | |||
) | [inline] |
int Instant< CTYPE >::getCache | ( | const unsigned int * | handleArray, | |
const unsigned int | nelem, | |||
const chtype | _dbrType, | |||
CTYPE * | val, | |||
int * | statusArray, | |||
dbr_short_t * | alarmStatus, | |||
dbr_short_t * | alarmSeverity | |||
) | [inline] |
int Instant< CTYPE >::getCache | ( | const unsigned int * | handleArray, | |
const unsigned int | nelem, | |||
const chtype | _dbrType, | |||
CTYPE * | val, | |||
int * | statusArray, | |||
dbr_short_t * | alarmStatus, | |||
dbr_short_t * | alarmSeverity, | |||
epicsTimeStamp * | ts | |||
) | [inline] |
retrieve cached data from an array of handles
handleArray | input: Array of handles to conduit object | |
nelem | input: Size of array | |
_dbrType | input: chtype | |
val | output: Array of doubles; if handle points to a wafeform only first element is read out | |
statusArray | output: Status array reporting from each get(handle) | |
alarmStatus | output | |
alarmSeverity | output | |
ts | output: epicsTimeStamp |
References __METHOD__, Instant< CTYPE >::cafeGranules, cafeMutex, Instant< CTYPE >::channelRequestStatusGet, Instant< CTYPE >::channelTimeoutPolicyGet, cs, ECAFE_TIMEOUT, CAFENUM::GET_CACHE_WAIT, Instant< CTYPE >::getCache(), ChannelRequestStatus::getCallbackProgressKind(), ChannelTimeoutPolicy::getDeltaTimeout(), HandleHelper::getNelemNative(), HandleHelper::getNmonitorData(), ChannelTimeoutPolicy::getNtries(), ChannelTimeoutPolicy::getSelfGoverningTimeout(), ChannelTimeoutPolicy::getTimeout(), Instant< CTYPE >::helper, ICAFE_NORMAL, ICAFE_WAITING_FOR_PREV_CALLBACK, MUTEX, CAFENUM::PENDING, HandleHelper::printHandle(), ChannelRequestStatus::setCallbackKind(), ChannelRequestStatus::setCallbackStatus(), HandleHelper::setNelemToRetrieveFromCache(), ChannelTimeoutPolicy::setSelfGoverningTimeout(), ChannelTimeoutPolicy::setTimeout(), Instant< CTYPE >::status, Granules::waitForGetEvent(), and CAFENUM::WITH_CALLBACK_USER_SUPPLIED.
int Instant< CTYPE >::getCache | ( | const unsigned int | _handle, | |
const chtype | dbrType, | |||
CTYPE * | _val | |||
) | [inline] |
int Instant< CTYPE >::getCache | ( | const unsigned int | _handle, | |
const chtype | dbrType, | |||
CTYPE * | _val, | |||
dbr_short_t & | alarmStatus, | |||
dbr_short_t & | alarmSeverity | |||
) | [inline] |
int Instant< CTYPE >::getCache | ( | const unsigned int | _handle, | |
const chtype | _dbrType, | |||
CTYPE * | _val, | |||
dbr_short_t & | alarmStatus, | |||
dbr_short_t & | alarmSeverity, | |||
epicsTimeStamp & | ts | |||
) | [inline] |
Retrieve cached values of data type CTYPE.
_handle | input: handle to CAFEConduit object | |
_dbrType | input: chtype | |
_val | output: value/array of values of datatype const CTYPE | |
alarmStatus | output | |
alarmSeverity | output | |
ts | output: epicsTimeStamp |
References __METHOD__, Instant< CTYPE >::cafeGranules, cafeMutex, Instant< CTYPE >::cafeStatus, Instant< CTYPE >::channelRequestStatusGet, Instant< CTYPE >::channelTimeoutPolicyGet, Granules::channelVerifyGet(), Instant< CTYPE >::clientRequests(), cs, CAFENUM::DBR_PRIMITIVE, CAFENUM::DBR_STS, CAFENUM::DBR_TIME, ECAFE_INVALID_HANDLE, ECAFE_TIMEOUT, CAFENUM::GET_CACHE_NO_CHECK, CAFENUM::GET_CACHE_WAIT, ChannelRequestStatus::getCallbackProgressKind(), ChannelTimeoutPolicy::getDeltaTimeout(), ChannelRequestStatus::getMessageStatus(), HandleHelper::getNmonitorData(), ChannelTimeoutPolicy::getNtries(), ChannelTimeoutPolicy::getSelfGoverningTimeout(), ChannelTimeoutPolicy::getTimeout(), Instant< CTYPE >::helper, ICAFE_CS_CLOSED, ICAFE_CS_NEVER_CONN, ICAFE_NORMAL, ICAFE_WAITING_FOR_PREV_CALLBACK, MUTEX, CAFENUM::PENDING, HandleHelper::printHandle(), CAFEStatus::report(), ChannelRequestStatus::setCallbackKind(), ChannelRequestStatus::setCallbackStatus(), ChannelTimeoutPolicy::setSelfGoverningTimeout(), ChannelTimeoutPolicy::setTimeout(), Instant< CTYPE >::status, Granules::waitForGetEvent(), and CAFENUM::WITH_CALLBACK_USER_SUPPLIED.
Referenced by Instant< CTYPE >::compareAndMatchMany(), Instant< CTYPE >::get(), Instant< dbr_short_t >::getCache(), Instant< CTYPE >::getCache(), CAFE::getCache(), CAFE::getWFAsStringCache(), Instant< CTYPE >::matchMany(), Instant< CTYPE >::setAndMatch(), and Instant< CTYPE >::setAndMatchMany().
int Instant< CTYPE >::match | ( | const chtype | dbrType, | |
CTYPE | valSet, | |||
unsigned int | handleMatch, | |||
CTYPE | tolerance, | |||
double | timeout, | |||
bool | printFlag | |||
) | [inline] |
Set Channel followed by a corresponding readback of Channel
Method verifies whether or not the set/readback values agree within the given tolerance and timeout
Method returns with ECA_NORMAL as soon as a match is reached.
dbrType | input: chtype of set value | |
valSet | input: CTYPE value to set | |
handleMatch | input: handle of readback channel | |
tolerance | input: CTYPE of tolerance margin | |
timeout | input: double value; maximum time allowed for agreement to occur | |
printFlag | input: bool, set to true for diagnostics |
References Instant< CTYPE >::matchMany().
int Instant< CTYPE >::matchMany | ( | const chtype | dbrType, | |
std::vector< CTYPE > | valSet, | |||
std::vector< unsigned int > | handleMatch, | |||
CTYPE | tolerance, | |||
double | timeout, | |||
bool | printFlag | |||
) | [inline] |
Set Channels followed by a corresponding readback of Channels
Method verifies whether or not the set/readback values agree within the given tolerance and timeout
Method returns with ECA_NORMAL as soon as a match is reached.
dbrType | input: chtype of set value | |
valSet | input: vector of CTYPE values to set | |
handleMatch | input: vector of handles of readback channel | |
tolerance | input: CTYPE of tolerance margin | |
timeout | input: double value; maximum time allowed for agreement to occur | |
printFlag | input: bool, set to true for diagnostics |
valGet[i]=valGetA[0][i];
References __METHOD__, Connect::channelMonitorPolicy, ECAFE_HANDLE_MISMATCH_SET_AND_MATCH, ECAFE_TIMEOUT_SET_AND_MATCH, CAFENUM::FLUSH_AUTOMATIC, Instant< CTYPE >::get(), Instant< CTYPE >::getCache(), HandleHelper::getMonitorPolicyVector(), HandleHelper::getNelemClient(), HandleHelper::getNelemNative(), HandleHelper::getNelemRequest(), HandleHelper::getPVFromHandle(), HandleHelper::getStatus(), ChannelOpenPolicy::getWhenToFlushSendBuffer(), Instant< CTYPE >::helper, ICAFE_NORMAL, HandleHelper::isChannelConnected(), Connect::monitorStart(), Connect::monitorStop(), HandleHelper::printHandle(), CAFEStatus::report(), HandleHelper::setNelem(), HandleHelper::setNelemToRetrieveFromCache(), ChannelOpenPolicy::setWhenToFlushSendBuffer(), and Instant< CTYPE >::status.
Referenced by Instant< CTYPE >::match().
int Instant< CTYPE >::set | ( | const unsigned int | _handle, | |
const chtype | _dbrType, | |||
const CTYPE * | _val | |||
) | [inline] |
Set values of data type CTYPE.
_handle | input: handle to CAFEConduit object | |
_dbrType | input: chtype | |
_val | value/array of values of datatype const CTYPE |
References __METHOD__, Instant< CTYPE >::cafeGranules, cafeMutex, Instant< CTYPE >::cafeStatus, Granules::channelExecutePut(), Granules::channelPreparePut(), Granules::channelVerifyPut(), Instant< CTYPE >::clientRequests(), cs, ECAFE_INVALID_HANDLE, ICAFE_NORMAL, MUTEX, CAFEStatus::report(), and Instant< CTYPE >::status.
int Instant< CTYPE >::set | ( | const unsigned int * | handleArray, | |
const unsigned int | nelem, | |||
const chtype | _dbrType, | |||
const CTYPE * | val, | |||
int * | statusArray | |||
) | [inline] |
Sends ca_put messages to IOC and waits until end before flushing.
handleArray | input: Array of handles to conduit object | |
nelem | input: Size of array | |
_dbrType | input: chtype | |
val | input: Array of CTYPE | |
statusArray | output: Status array reporting from each get(handle) |
References CAFENUM::FLUSH_DESIGNATED_TO_CLIENT, PolicyHelper::getChannelRequestPolicyPut(), HandleHelper::getNelemClient(), HandleHelper::getNelemNative(), Instant< CTYPE >::helper, ICAFE_NORMAL, CAFENUM::NO_WAIT, Instant< CTYPE >::policyHelper, PolicyHelper::setChannelRequestPolicyPut(), HandleHelper::setNelem(), ChannelRequestPolicy::setWaitKind(), and ChannelRequestPolicy::setWhenToFlushSendBuffer().
Referenced by CAFE::getCache(), CAFE::getCacheVLong(), CAFE::getScalars(), CAFE::set(), Instant< CTYPE >::setAndGet(), Instant< dbr_short_t >::setAndGetDbrString(), and Instant< dbr_short_t >::setAndGetString().
int Instant< CTYPE >::setAndGet | ( | const unsigned int | handleSet, | |
const chtype | dbrType, | |||
CTYPE | valSet, | |||
CTYPE & | valGet | |||
) | [inline] |
Set followed by an immediate get.
handleSet | input: handle | |
dbrType | input: const chtype | |
valSet | input: value to set | |
valGet | output: value to get |
References __METHOD__, Instant< CTYPE >::get(), HandleHelper::getNelemClient(), HandleHelper::getPVFromHandle(), Instant< CTYPE >::helper, ICAFE_NORMAL, ICAFE_SET_AND_GET_MISMATCH, Instant< CTYPE >::set(), HandleHelper::setNelem(), and Instant< CTYPE >::status.
int Instant< CTYPE >::setAndGetDbrString | ( | const unsigned int | handleSet, | |
dbr_string_t | valSet, | |||
dbr_string_t & | valGet | |||
) | [inline] |
Set followed by an immediate get.
handleSet | input: handle | |
valSet | input: dbr_string_t value to set | |
valGet | output: dbr_string_t value to get |
int Instant< CTYPE >::setAndGetString | ( | const unsigned int | handleSet, | |
std::string | valSet, | |||
std::string & | valGet | |||
) | [inline] |
Set followed by an immediate get.
handleSet | input: handle | |
valSet | input: string value to set | |
valGet | output: string value to get |
int Instant< CTYPE >::setAndMatch | ( | const unsigned int | handleSet, | |
const chtype | dbrType, | |||
CTYPE | valSet, | |||
const unsigned int | handleMatch, | |||
CTYPE | tolerance, | |||
double | timeout, | |||
bool | printFlag | |||
) | [inline] |
Set Channel 1 followed by a readback of Channel 2
Method verifies whether or not the 2 values agree within the given tolerance and timeout
Method returns with ECA_NORMAL as soon as a match is reached.
handleSet | input: handleSet | |
dbrType | input: chtype of set value | |
valSet | input: CTYPE value to set | |
handleMatch | input: handle of readback channel | |
tolerance | input: CTYPE of tolerance margin | |
timeout | input: double value; maximum time allowed for agreement to occur | |
printFlag | input: bool, set to true for diagnostics |
if (dbrType==DBR_CHAR) {valGet = (unsigned short) valGetA[0];}
References __METHOD__, Connect::channelMonitorPolicy, ECAFE_TIMEOUT_SET_AND_MATCH, CAFENUM::FLUSH_AUTOMATIC, Instant< CTYPE >::get(), Instant< CTYPE >::getCache(), PolicyHelper::getChannelRequestPolicyPut(), HandleHelper::getMonitorPolicyVector(), HandleHelper::getNelemClient(), HandleHelper::getNelemRequest(), HandleHelper::getPVFromHandle(), HandleHelper::getStatus(), ChannelOpenPolicy::getWhenToFlushSendBuffer(), Instant< CTYPE >::helper, ICAFE_NORMAL, HandleHelper::isChannelConnected(), Connect::monitorStart(), Connect::monitorStop(), Instant< CTYPE >::policyHelper, HandleHelper::printHandle(), CAFEStatus::report(), PolicyHelper::setChannelRequestPolicyPut(), ChannelRequestPolicy::setMethodKind(), HandleHelper::setNelem(), HandleHelper::setNelemToRetrieveFromCache(), ChannelRequestPolicy::setWaitKind(), ChannelRequestPolicy::setWhenToFlushSendBuffer(), ChannelOpenPolicy::setWhenToFlushSendBuffer(), Instant< CTYPE >::status, CAFENUM::WAIT, and CAFENUM::WITHOUT_CALLBACK.
int Instant< CTYPE >::setAndMatchMany | ( | std::vector< unsigned int > | handleSet, | |
const chtype | dbrType, | |||
std::vector< CTYPE > | valSet, | |||
std::vector< unsigned int > | handleMatch, | |||
CTYPE | tolerance, | |||
double | timeout, | |||
bool | printFlag | |||
) | [inline] |
Set Channels followed by a corresponding readback of Channels
Method verifies whether or not the set/readback values agree within the given tolerance and timeout
Method returns with ECA_NORMAL as soon as a match is reached.
handleSet | input: vector of handleSet | |
dbrType | input: chtype of set value | |
valSet | input: vector of CTYPE values to set | |
handleMatch | input: vector of handles of readback channel | |
tolerance | input: CTYPE of tolerance margin | |
timeout | input: double value; maximum time allowed for agreement to occur | |
printFlag | input: bool, set to true for diagnostics |
valGet[i]=valGetA[0][i];
References __METHOD__, Connect::channelMonitorPolicy, ECAFE_HANDLE_MISMATCH_SET_AND_MATCH, ECAFE_TIMEOUT_SET_AND_MATCH, CAFENUM::FLUSH_AUTOMATIC, Instant< CTYPE >::get(), Instant< CTYPE >::getCache(), PolicyHelper::getChannelRequestPolicyPut(), HandleHelper::getMonitorPolicyVector(), HandleHelper::getNelemClient(), HandleHelper::getNelemNative(), HandleHelper::getNelemRequest(), HandleHelper::getPVFromHandle(), HandleHelper::getStatus(), ChannelOpenPolicy::getWhenToFlushSendBuffer(), Instant< CTYPE >::helper, ICAFE_NORMAL, HandleHelper::isChannelConnected(), Connect::monitorStart(), Connect::monitorStop(), Instant< CTYPE >::policyHelper, HandleHelper::printHandle(), CAFEStatus::report(), PolicyHelper::setChannelRequestPolicyPut(), ChannelRequestPolicy::setMethodKind(), HandleHelper::setNelem(), HandleHelper::setNelemToRetrieveFromCache(), ChannelRequestPolicy::setWaitKind(), ChannelRequestPolicy::setWhenToFlushSendBuffer(), ChannelOpenPolicy::setWhenToFlushSendBuffer(), Instant< CTYPE >::status, CAFENUM::WAIT, and CAFENUM::WITHOUT_CALLBACK.
int Instant< CTYPE >::setMany | ( | std::vector< unsigned int > | handleSet, | |
const chtype | dbrType, | |||
std::vector< CTYPE > | valSet, | |||
bool | printFlag | |||
) | [inline] |
References __METHOD__, ECAFE_HANDLE_MISMATCH_SET_AND_MATCH, CAFENUM::FLUSH_AUTOMATIC, PolicyHelper::getChannelRequestPolicyPut(), HandleHelper::getNelemClient(), HandleHelper::getNelemRequest(), HandleHelper::getPVFromHandle(), HandleHelper::getStatus(), Instant< CTYPE >::helper, ICAFE_NORMAL, HandleHelper::isChannelConnected(), Instant< CTYPE >::policyHelper, HandleHelper::printHandle(), CAFEStatus::report(), PolicyHelper::setChannelRequestPolicyPut(), ChannelRequestPolicy::setMethodKind(), HandleHelper::setNelem(), ChannelRequestPolicy::setWaitKind(), ChannelRequestPolicy::setWhenToFlushSendBuffer(), Instant< CTYPE >::status, CAFENUM::WAIT, and CAFENUM::WITHOUT_CALLBACK.
int Instant< CTYPE >::setManyString | ( | std::vector< unsigned int > | handleSet, | |
std::vector< std::string > | valSet, | |||
bool | printFlag | |||
) | [inline] |
int Instant< CTYPE >::setTriggerAndMatchMany | ( | std::vector< unsigned int > | handleSetV, | |
const chtype | dbrType, | |||
std::vector< CTYPE > | valSet, | |||
std::vector< unsigned int > | handleAction, | |||
std::vector< std::string > | valAction, | |||
std::vector< unsigned int > | handleMatch, | |||
CTYPE | tolerance, | |||
double | timeout, | |||
bool | printFlag | |||
) |
Granules Instant< CTYPE >::cafeGranules [private] |
Referenced by Instant< CTYPE >::get(), Instant< CTYPE >::getCache(), and Instant< CTYPE >::set().
CAFEStatus Instant< CTYPE >::cafeStatus [private] |
ChannelRequestDataTypePolicy Instant< CTYPE >::channelRequestDataTypePolicy [private] |
ChannelRequestMetaDataClient Instant< CTYPE >::channelRequestMetaDataClient [private] |
Referenced by Instant< CTYPE >::get().
ChannelRequestPolicy Instant< CTYPE >::channelRequestPolicyGet [private] |
ChannelRequestStatus Instant< CTYPE >::channelRequestStatusGet [private] |
Referenced by Instant< CTYPE >::getCache().
ChannelTimeoutPolicy Instant< CTYPE >::channelTimeoutPolicyGet [private] |
Referenced by Instant< CTYPE >::getCache().
HandleHelper Instant< CTYPE >::helper [private] |
Referenced by Instant< CTYPE >::compareAndMatchMany(), Instant< CTYPE >::get(), Instant< CTYPE >::getCache(), Instant< CTYPE >::matchMany(), Instant< CTYPE >::set(), Instant< CTYPE >::setAndGet(), Instant< dbr_short_t >::setAndGetDbrString(), Instant< dbr_short_t >::setAndGetString(), Instant< CTYPE >::setAndMatch(), Instant< CTYPE >::setAndMatchMany(), Instant< CTYPE >::setMany(), and Instant< dbr_short_t >::setManyString().
PolicyHelper Instant< CTYPE >::policyHelper [private] |
Transpose<dbr_char_t> Instant< CTYPE >::renderChar [private] |
Referenced by Instant< CTYPE >::clientRequests().
Transpose<dbr_double_t> Instant< CTYPE >::renderDouble [private] |
Referenced by Instant< CTYPE >::clientRequests().
Transpose<dbr_enum_t> Instant< CTYPE >::renderEnum [private] |
Referenced by Instant< CTYPE >::clientRequests().
Transpose<dbr_float_t> Instant< CTYPE >::renderFloat [private] |
Referenced by Instant< CTYPE >::clientRequests().
Transpose<dbr_long_t> Instant< CTYPE >::renderLong [private] |
Referenced by Instant< CTYPE >::clientRequests().
Transpose<dbr_short_t> Instant< CTYPE >::renderShort [private] |
Referenced by Instant< CTYPE >::clientRequests().
Transpose<dbr_string_t> Instant< CTYPE >::renderString [private] |
Referenced by Instant< CTYPE >::clientRequests().
Referenced by Instant< CTYPE >::clientRequests(), Instant< CTYPE >::compareAndMatchMany(), Instant< CTYPE >::get(), Instant< CTYPE >::getCache(), Instant< CTYPE >::matchMany(), Instant< CTYPE >::set(), Instant< CTYPE >::setAndGet(), Instant< dbr_short_t >::setAndGetDbrString(), Instant< dbr_short_t >::setAndGetString(), Instant< CTYPE >::setAndMatch(), Instant< CTYPE >::setAndMatchMany(), Instant< CTYPE >::setMany(), and Instant< dbr_short_t >::setManyString().