This is Unofficial EPICS BASE Doxygen Site
epics::pvaClient::PvaClientPutCache Class Reference

Public Member Functions

 PvaClientPutCache ()
 
 ~PvaClientPutCache ()
 
PvaClientPutPtr getPut (string const &request)
 
void addPut (string const &request, PvaClientPutPtr const &pvaClientPut)
 
void showCache ()
 
size_t cacheSize ()
 

Detailed Description

Definition at line 75 of file pvaClientChannel.cpp.

Constructor & Destructor Documentation

epics::pvaClient::PvaClientPutCache::PvaClientPutCache ( )
inline

Definition at line 78 of file pvaClientChannel.cpp.

78 {}
epics::pvaClient::PvaClientPutCache::~PvaClientPutCache ( )
inline

Definition at line 79 of file pvaClientChannel.cpp.

80  {
81  if(PvaClient::getDebug()) cout << "PvaClientPutCache::~PvaClientPutCache\n";
82  }
static bool getDebug()
Is debug set?
Definition: pvaClient.cpp:97

Member Function Documentation

void epics::pvaClient::PvaClientPutCache::addPut ( string const &  request,
PvaClientPutPtr const &  pvaClientPut 
)

Definition at line 99 of file pvaClientChannel.cpp.

100 {
101  map<string,PvaClientPutPtr>::iterator iter = pvaClientPutMap.find(request);
102  if(iter!=pvaClientPutMap.end()) {
103  throw std::runtime_error("pvaClientPutCache::addPut pvaClientPut already cached");
104  }
105  pvaClientPutMap.insert(std::pair<string,PvaClientPutPtr>(
106  request,pvaClientPut));
107 }
std::string request
size_t epics::pvaClient::PvaClientPutCache::cacheSize ( )

Definition at line 118 of file pvaClientChannel.cpp.

119 {
120  return pvaClientPutMap.size();
121 
122 }
PvaClientPutPtr epics::pvaClient::PvaClientPutCache::getPut ( string const &  request)

Definition at line 92 of file pvaClientChannel.cpp.

93 {
94  map<string,PvaClientPutPtr>::iterator iter = pvaClientPutMap.find(request);
95  if(iter!=pvaClientPutMap.end()) return iter->second;
96  return PvaClientPutPtr();
97 }
std::string request
std::tr1::shared_ptr< PvaClientPut > PvaClientPutPtr
Definition: pvaClient.h:76
void epics::pvaClient::PvaClientPutCache::showCache ( )

Definition at line 109 of file pvaClientChannel.cpp.

110 {
111  map<string,PvaClientPutPtr>::iterator iter;
112  for(iter = pvaClientPutMap.begin(); iter != pvaClientPutMap.end(); ++iter)
113  {
114  cout << " " << iter->first << endl;
115  }
116 }

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