void AppClient::onGenericMsg(const GenericMsg& genericMsg, const OmmProviderEvent& event) |
{ |
if (genericMsg.getDomainType() == MMT_LOGIN && event.getHandle() == loginHandle && |
genericMsg.getPayload().getDataType() == DataType::ElementListEnum) |
{ |
cout << "Received login RTT message from Consumer " << event.getHandle() << endl; |
TimeValue currTicks = GetTime::getTicks(); |
const ElementList& elementList = genericMsg.getPayload().getElementList(); |
while ( elementList.forth() ) |
{ |
const ElementEntry& elementEntry = elementList.getEntry(); |
if ( elementEntry.getName() == ENAME_RTT_TICKS && elementEntry.getLoadType() == |
DataType::UIntEnum ) // "Ticks" |
{ |
cout << "\tRTT Tick value is " << elementEntry.getUInt() << "us." << endl; |
lastLatency = (UInt64)(((double)currTicks - (double)elementEntry.getUInt()) / |
GetTime::ticksPerMicro()); |
cout << "\tLast RTT message latency is " << lastLatency << "us." << endl; |
} |
else if ( elementEntry.getName() == ENAME_RTT_TCP_RETRANS && elementEntry.getLoadType() == |
DataType::UIntEnum ) // "TcpRetrans" |
{ |
cout << "\tConsumer side TCP retransmissions: " << elementEntry.getUInt() << endl; |
} |
} |
} |
} |