fix search PeerInfo

This commit is contained in:
Michael Davidsaver
2019-02-13 21:27:50 -08:00
parent 34f53c123a
commit c5fe16eff2
2 changed files with 8 additions and 2 deletions

View File

@@ -144,6 +144,7 @@ public:
epics::pvData::int32 cid, osiSockAddr const & sendTo, bool responseRequired, bool serverSearch);
virtual void channelFindResult(const epics::pvData::Status& status, ChannelFind::shared_pointer const & channelFind, bool wasFound) OVERRIDE FINAL;
virtual std::tr1::shared_ptr<const PeerInfo> getPeerInfo() OVERRIDE FINAL;
virtual void send(epics::pvData::ByteBuffer* buffer, TransportSendControl* control) OVERRIDE FINAL;
virtual void callback() OVERRIDE FINAL;
@@ -158,7 +159,7 @@ private:
bool _responseRequired;
bool _wasFound;
const ServerContextImpl::shared_pointer _context;
const PeerInfo::const_shared_pointer& _peer;
const PeerInfo::const_shared_pointer _peer;
mutable epics::pvData::Mutex _mutex;
const epics::pvData::int32 _expectedResponseCount;
epics::pvData::int32 _responseCount;

View File

@@ -339,7 +339,7 @@ void ServerSearchHandler::handleResponse(osiSockAddr* responseFrom,
if(allowed) {
info.reset(new PeerInfo);
info->transport = "pva";
info->peer = transport->getRemoteName();
info->peer = inetAddressToString(*responseFrom);
info->transportVersion = transport->getRevision();
}
@@ -467,6 +467,11 @@ void ServerChannelFindRequesterImpl::channelFindResult(const Status& /*status*/,
}
}
std::tr1::shared_ptr<const PeerInfo> ServerChannelFindRequesterImpl::getPeerInfo()
{
return _peer;
}
void ServerChannelFindRequesterImpl::send(ByteBuffer* buffer, TransportSendControl* control)
{
control->startMessage(CMD_SEARCH_RESPONSE, 12+4+16+2);