Closed rtsoliday closed 9 months ago
I have created a new branch multichannelmultiprovider. I will make changes there.
I just pushed changes on branch multichannelmultiprovider. Note the new semantics:
/** @brief Create a PvaClientMultiChannel.
* @param pvaClient The interface to pvaClient.
* @param channelNames The names of the channel..
* @param providerName The name of the provider.
* This is also used for the provider for all channels
* with providerNames.size less than channelNames.size()
* @param maxNotConnected The maximum number of channels that can be disconnected.
* @param providerNames The providerName for each Channells
* @return The interface to the PvaClientMultiChannel
*/
static PvaClientMultiChannelPtr create(
PvaClientPtr const &pvaClient,
epics::pvData::shared_vector<const std::string> const & channelNames,
std::string const & providerName = "pva",
size_t maxNotConnected=0,
epics::pvData::shared_vector<const std::string> const & providerNames
= epics::pvData::shared_vector<const std::string>()
);
I have done a simple test but still want to do more testing.
Bob,
Can you try it?
It is working for me. Thanks.
This support was merged with PR #73.
I believe that currently PvaClientMultiChannel requires that all the channels either be pva or ca. I would like to request the ability to pass an array of provider names so that it can better support a mixed environment.