The following changes were made:
1) pvaClientChannel no longer issues an error message on disconnect. This should never have been done. When pvaClient is used within a database, it caused error mesaage when database exits. 2) pvaClientGet,Monitor,Process,Put,PutGet now let pvaClientChannel handle getRequesterName and message. This leads to better error messages.
This commit is contained in:
@ -198,9 +198,6 @@ void PvaClientChannel::channelStateChange(
|
||||
if(connectState==connectActive) waitingForConnect = true;
|
||||
if(connectionState!=Channel::CONNECTED) {
|
||||
Lock xx(mutex);
|
||||
string mess(channelName +
|
||||
" connection state " + Channel::ConnectionStateNames[connectionState]);
|
||||
message(mess,errorMessage);
|
||||
connectState = notConnected;
|
||||
} else {
|
||||
Lock xx(mutex);
|
||||
|
@ -134,19 +134,14 @@ void PvaClientGet::checkConnectState()
|
||||
}
|
||||
}
|
||||
|
||||
// from ChannelGetRequester
|
||||
string PvaClientGet::getRequesterName()
|
||||
{
|
||||
PvaClientPtr yyy = pvaClient.lock();
|
||||
if(!yyy) return string("PvaClientGet::getRequesterName PvaClient isDestroyed");
|
||||
return yyy->getRequesterName();
|
||||
return pvaClientChannel->getRequesterName();
|
||||
}
|
||||
|
||||
void PvaClientGet::message(string const & message,MessageType messageType)
|
||||
{
|
||||
PvaClientPtr yyy = pvaClient.lock();
|
||||
if(!yyy) return;
|
||||
yyy->message(message, messageType);
|
||||
pvaClientChannel->message(message,messageType);
|
||||
}
|
||||
|
||||
void PvaClientGet::channelGetConnect(
|
||||
|
@ -201,16 +201,12 @@ void PvaClientMonitor::checkMonitorState()
|
||||
|
||||
string PvaClientMonitor::getRequesterName()
|
||||
{
|
||||
PvaClientPtr yyy = pvaClient.lock();
|
||||
if(!yyy) return string("PvaClientMonitor::getRequesterName() PvaClient isDestroyed");
|
||||
return yyy->getRequesterName();
|
||||
return pvaClientChannel->getRequesterName();
|
||||
}
|
||||
|
||||
void PvaClientMonitor::message(string const & message,MessageType messageType)
|
||||
{
|
||||
PvaClientPtr yyy = pvaClient.lock();
|
||||
if(!yyy) return;
|
||||
yyy->message(message, messageType);
|
||||
pvaClientChannel->message(message,messageType);
|
||||
}
|
||||
|
||||
void PvaClientMonitor::monitorConnect(
|
||||
|
@ -111,19 +111,14 @@ PvaClientProcess::~PvaClientProcess()
|
||||
}
|
||||
}
|
||||
|
||||
// from ChannelProcessRequester
|
||||
string PvaClientProcess::getRequesterName()
|
||||
{
|
||||
PvaClientPtr yyy = pvaClient.lock();
|
||||
if(!yyy) throw std::runtime_error("pvaClient was destroyed");
|
||||
return yyy->getRequesterName();
|
||||
return pvaClientChannel->getRequesterName();
|
||||
}
|
||||
|
||||
void PvaClientProcess::message(string const & message,MessageType messageType)
|
||||
{
|
||||
PvaClientPtr yyy = pvaClient.lock();
|
||||
if(!yyy) throw std::runtime_error("pvaClient was destroyed");
|
||||
yyy->message(message, messageType);
|
||||
pvaClientChannel->message(message,messageType);
|
||||
}
|
||||
|
||||
void PvaClientProcess::channelProcessConnect(
|
||||
|
@ -138,16 +138,12 @@ void PvaClientPut::checkConnectState()
|
||||
|
||||
string PvaClientPut::getRequesterName()
|
||||
{
|
||||
PvaClientPtr yyy = pvaClient.lock();
|
||||
if(!yyy) return string("PvaClientPut::getRequesterName() PvaClient isDestroyed");
|
||||
return yyy->getRequesterName();
|
||||
return pvaClientChannel->getRequesterName();
|
||||
}
|
||||
|
||||
void PvaClientPut::message(string const & message,MessageType messageType)
|
||||
{
|
||||
PvaClientPtr yyy = pvaClient.lock();
|
||||
if(!yyy) return;
|
||||
yyy->message(message, messageType);
|
||||
pvaClientChannel->message(message,messageType);
|
||||
}
|
||||
|
||||
void PvaClientPut::channelPutConnect(
|
||||
|
@ -150,16 +150,12 @@ void PvaClientPutGet::checkPutGetState()
|
||||
|
||||
string PvaClientPutGet::getRequesterName()
|
||||
{
|
||||
PvaClientPtr yyy = pvaClient.lock();
|
||||
if(!yyy) return string("PvaClientPutGet::getRequesterName() PvaClient isDestroyed");
|
||||
return yyy->getRequesterName();
|
||||
return pvaClientChannel->getRequesterName();
|
||||
}
|
||||
|
||||
void PvaClientPutGet::message(string const & message,MessageType messageType)
|
||||
{
|
||||
PvaClientPtr yyy = pvaClient.lock();
|
||||
if(!yyy) return;
|
||||
yyy->message(message, messageType);
|
||||
pvaClientChannel->message(message,messageType);
|
||||
}
|
||||
|
||||
void PvaClientPutGet::channelPutGetConnect(
|
||||
|
Reference in New Issue
Block a user