PipelineMonitor instead of epics::pvData::Monitor

This commit is contained in:
Matej Sekoranja
2015-10-15 20:59:15 +02:00
parent b381d84e64
commit 5884d5b778
7 changed files with 58 additions and 20 deletions
+9 -2
View File
@@ -1882,7 +1882,11 @@ void ServerMonitorHandler::handleResponse(osiSockAddr* responseFrom,
{
int32 nfree = payloadBuffer->getInt();
ServerMonitorRequesterImpl::shared_pointer request = static_pointer_cast<ServerMonitorRequesterImpl>(channel->getRequest(ioid));
request->getChannelMonitor()->reportRemoteQueueStatus(nfree);
Monitor::shared_pointer mp = request->getChannelMonitor();
PipelineMonitor* pmp = dynamic_cast<PipelineMonitor*>(mp.get());
if (pmp)
pmp->reportRemoteQueueStatus(nfree);
}
}
@@ -1903,7 +1907,10 @@ void ServerMonitorHandler::handleResponse(osiSockAddr* responseFrom,
if (ack)
{
int32 nfree = payloadBuffer->getInt();
request->getChannelMonitor()->reportRemoteQueueStatus(nfree);
Monitor::shared_pointer mp = request->getChannelMonitor();
PipelineMonitor* pmp = dynamic_cast<PipelineMonitor*>(mp.get());
if (pmp)
pmp->reportRemoteQueueStatus(nfree);
return;
// note: not possible to ack and destroy
}