本文整理汇总了C++中TInetAddr::Scope方法的典型用法代码示例。如果您正苦于以下问题:C++ TInetAddr::Scope方法的具体用法?C++ TInetAddr::Scope怎么用?C++ TInetAddr::Scope使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TInetAddr
的用法示例。
在下文中一共展示了TInetAddr::Scope方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ChangedAddress
// Help function for address loading, returns
// = 0, if address did not change
// = 1, if address has changed
//
static TInt ChangedAddress(TInetAddr &aAddr, const TInetAddr &aNewAddr)
{
// "Normalize" new address
// - convert IPv4 addresess into IPv4 mapped
// - anything other then KAfInet6 will be set as None
TInetAddr tmp(aNewAddr);
if (tmp.Family() == KAfInet)
{
tmp.ConvertToV4Mapped();
tmp.SetScope(0); // [is already part of "convert" in newer insocks]
}
else if (tmp.Family() != KAfInet6)
tmp.SetAddress(KInet6AddrNone);
if (tmp.CmpAddr(aAddr) && // address and port same?
tmp.FlowLabel() == aAddr.FlowLabel())
{
// If the scope id in new addres is zero, then the
// scope id is not part the address compare.
// (this will optimize unconnected sockets where application
// gives destination without scope -- eliminates unnecessary
// flow connect operations.
if (tmp.Scope() == aAddr.Scope() || tmp.Scope() == 0)
return 0; // No Change to the previous value
}
// Address is being changed
aAddr = tmp;
return 1;
}
示例2: Match
TBool CDnsSocketWriter::Match(const TInetAddr &aServer) const
{
// The match applies only to connected TCP readers/writers
return iTCP && !iListen && aServer.CmpAddr(iTo) && aServer.Scope() == iTo.Scope();
}