pvaClientProcess is a synchronous wrapper for the pvAccess::ChannelProcess API, which is a callback based API. Thus it is easier to use than pvAccess::ChannelProcess itself.
An instance of PvaClientProcess is created via a call to one of the followimg:
class PvaClientChannel
...
{
...
PvaClientProcessPtr createProcess(std::string const & request = "");
PvaClientProcessPtr createProcess(epics::pvData::PVStructurePtr const & pvRequest);
...
};
An instance of PvaClientProcess connects to a single channel.
PvaClientProcess 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.
process Calls issueProcess and then waitProcess.
issueProcess issues a process request to the server.
waitProcess waits until the server send a message that the process is complete.
issueConnect and issueProcess do not block.
All other methods can block.