pvaClientGet is a synchronous wrapper for the pvAccess::ChannelGet API, which is a callback based API. Thus it is easier to use than pvAccess::ChannelGet itself.
An instance of PvaClientGet is created via a call to one of the following:
class PvaClientChannel
...
{
...
PvaClientGetPtr get(std::string const & request = "field(value,alarm,timeStamp)");
PvaClientGetPtr createGet(std::string const & request = "");
PvaClientGetPtr createGet(epics::pvData::PVStructurePtr const & pvRequest);
...
};
An instance of PvaClientGet connects to a single channel.
PvaClientGet has both synchronous methods, which block, and non blocking methods.
PvaClientChannel has methods:
connect Calls issueConnect and then waitConnect.
issueConnect issues a request to the server to create the server side of ChannelPut.
waitConnect blocks until server responds that it has created the ChannelPut.
get Calls issueGet and then waitGet.
issueGet issues a get request to the server.
waitGet waits until the server send a message that the get is complete.
getData get the data.
issueConnect and issueGet do not block.
All other methods can block.