30 #define epicsAssertAuthor "Jeff Hill johill@lanl.gov" 40 count ( countIn ), cacCtx ( cacCtxIn ), chan ( chanIn ), pValue ( pValueIn ),
41 ioSeqNo ( 0 ),
type ( typeIn )
61 if ( this->
type == typeIn ) {
62 unsigned size =
dbr_size_n ( typeIn, countIn );
63 memcpy ( this->
pValue, pDataIn, size );
65 this->
cacCtx.destroyGetCopy ( guard, *
this );
70 "bad data type match in get copy back response",
76 void getCopy::exception (
82 unsigned typeTmp ( this->
type );
87 this->
cacCtx.destroyGetCopy ( guard, *
this );
90 __FILE__, __LINE__, chanTmp, typeTmp,
97 int tmpType = static_cast <
int> ( this->
type );
98 ::printf (
"read copy IO at %p, type %s, element count %lu\n",
101 ::printf (
"\tIO sequence number %u, user's storage %p\n",
102 this->
ioSeqNo, static_cast <const void *> ( this->
pValue ) );
106 void getCopy::operator
delete (
void * )
113 errlogPrintf (
"%s:%d this compiler is confused about placement delete - memory was probably leaked",
114 __FILE__, __LINE__ );
#define dbf_type_to_text(type)
void incrementOutstandingIO(epicsGuard< epicsMutex > &, unsigned ioSeqNo)
pvd::StructureConstPtr type
void exception epicsGuard< epicsMutex > int status
getCopy(epicsGuard< epicsMutex > &guard, ca_client_context &cacCtx, oldChannelNotify &, unsigned type, arrayElementCount count, void *pValue)
int errlogPrintf(const char *pFormat,...)
void exception epicsGuard< epicsMutex > int const char * pContext
unsigned sequenceNumberOfOutstandingIO(epicsGuard< epicsMutex > &) const
unsigned long arrayElementCount
void completion(epicsGuard< epicsMutex > &, unsigned type, arrayElementCount count, const void *pData)
#define dbr_size_n(TYPE, COUNT)
epicsPlacementDeleteOperator((void *, tsFreeList< class getCopy, 1024, epicsMutexNOOP > &)) private ca_client_context cacCtx)
void show(unsigned level) const
void exception epicsGuard< epicsMutex > int const char unsigned arrayElementCount count