|
reSIProcate/stack
9694
|


Public Member Functions | |
| TestDnsHandler () | |
| TestDnsHandler (const std::vector< Tuple > &expectedResults, const resip::Uri &uri) | |
| TestDnsHandler (const std::vector< Tuple > &expectedResults, const std::set< Tuple > &resultsToBlacklist, const std::set< Tuple > &resultsToGreylist, const resip::Uri &uri) | |
| void | handle (DnsResult *result) |
| void | rewriteRequest (const Uri &rewrite) |
| bool | complete () |
| void | checkExpectedResults () |
| int | getPermutationNumber () |
Public Attributes | |
| std::vector< Tuple > | results |
Private Attributes | |
| bool | mComplete |
| std::vector< Tuple > | mExpectedResults |
| bool | mCheckExpectedResults |
| Mutex | mutex |
| Uri | mUri |
| std::list< int > | mPermutation |
| int | mPermutationNumber |
| std::set< resip::Tuple > | mResultsToBlacklist |
| std::set< resip::Tuple > | mResultsToGreylist |
Definition at line 53 of file testDns.cxx.
| resip::TestDnsHandler::TestDnsHandler | ( | ) | [inline] |
Definition at line 56 of file testDns.cxx.
: mComplete(false), mCheckExpectedResults(false), mPermutationNumber(0) {}
| resip::TestDnsHandler::TestDnsHandler | ( | const std::vector< Tuple > & | expectedResults, |
| const resip::Uri & | uri | ||
| ) | [inline] |
Definition at line 62 of file testDns.cxx.
: mComplete(false), mExpectedResults(expectedResults), mCheckExpectedResults(true), mUri(uri), mPermutationNumber(0) {}
| resip::TestDnsHandler::TestDnsHandler | ( | const std::vector< Tuple > & | expectedResults, |
| const std::set< Tuple > & | resultsToBlacklist, | ||
| const std::set< Tuple > & | resultsToGreylist, | ||
| const resip::Uri & | uri | ||
| ) | [inline] |
Definition at line 71 of file testDns.cxx.
: mComplete(false), mExpectedResults(expectedResults), mCheckExpectedResults(true), mUri(uri), mPermutationNumber(0), mResultsToBlacklist(resultsToBlacklist), mResultsToGreylist(resultsToGreylist) {}
| void resip::TestDnsHandler::checkExpectedResults | ( | ) | [inline] |
Definition at line 127 of file testDns.cxx.
References resipCout.
{
std::cout << "Input Uri was " << mUri << endl;
tassert(mExpectedResults.size() == results.size());
tassert_reset();
std::cout << "Expected " << mExpectedResults.size() << ", got " << results.size() << endl;
std::vector<Tuple>::const_iterator e;
std::vector<Tuple>::const_iterator o;
for(e=mExpectedResults.begin();e!=mExpectedResults.end();++e)
{
int p=0;
resipCout << "Looking for " << *e << endl;
bool found=false;
for(o=results.begin();(o!=results.end() && !found);++o)
{
++p;
if(*e==*o)
{
found=true;
resipCout << *o << " matched!" << endl;
mPermutation.push_back(p);
}
else
{
resipCout << *o << " didn't match." << endl;
}
}
tassert(found);
tassert_reset();
}
}
| bool resip::TestDnsHandler::complete | ( | ) | [inline] |
Definition at line 121 of file testDns.cxx.
| int resip::TestDnsHandler::getPermutationNumber | ( | ) | [inline] |
Definition at line 161 of file testDns.cxx.
{
if(mPermutationNumber!=0)
{
return mPermutationNumber;
}
int result=1;
// .bwc. Please forgive me for my use of permutation-group-foo.
for(int i=mPermutation.size();i>0;--i)
{
int foundAt=0;
for(std::list<int>::iterator j=mPermutation.begin();j!=mPermutation.end();++j)
{
++foundAt;
if(*j==i)
{
result*=((foundAt-i)%i+1);
mPermutation.erase(j);
j=mPermutation.end();
}
}
}
mPermutationNumber=result;
return result;
}
| void resip::TestDnsHandler::handle | ( | DnsResult * | result | ) | [inline, virtual] |
Implements resip::DnsHandler.
Definition at line 84 of file testDns.cxx.
References resip::DnsResult::available(), resip::DnsResult::blacklistLast(), gf, resip::DnsResult::greylistLast(), resip::DnsResult::next(), resipCout, resip::DnsResult::target(), type, and ub.
{
std::cout << gf << "DnsHandler received " << result->target() << ub << std::endl;
Lock lock(mutex);
DnsResult::Type type;
while ((type=result->available()) == DnsResult::Available)
{
Tuple tuple = result->next();
results.push_back(tuple);
resipCout << gf << result->target() << " -> " << tuple << ub << std::endl;
if(mResultsToGreylist.count(tuple)!=0)
{
result->greylistLast(Timer::getTimeMs()+15000);
}
if(mResultsToBlacklist.count(tuple)!=0)
{
result->blacklistLast(Timer::getTimeMs()+15000);
}
}
if (type != DnsResult::Pending)
{
mComplete = true;
if(mCheckExpectedResults)
{
checkExpectedResults();
}
}
}

| void resip::TestDnsHandler::rewriteRequest | ( | const Uri & | rewrite | ) | [inline, virtual] |
Implements resip::DnsHandler.
Definition at line 115 of file testDns.cxx.
{
std::cout << "Rewriting uri (enum) to " << rewrite << std::endl;
}
bool resip::TestDnsHandler::mCheckExpectedResults [private] |
Definition at line 195 of file testDns.cxx.
bool resip::TestDnsHandler::mComplete [private] |
Definition at line 193 of file testDns.cxx.
std::vector<Tuple> resip::TestDnsHandler::mExpectedResults [private] |
Definition at line 194 of file testDns.cxx.
std::list<int> resip::TestDnsHandler::mPermutation [private] |
Definition at line 198 of file testDns.cxx.
int resip::TestDnsHandler::mPermutationNumber [private] |
Definition at line 199 of file testDns.cxx.
std::set<resip::Tuple> resip::TestDnsHandler::mResultsToBlacklist [private] |
Definition at line 200 of file testDns.cxx.
std::set<resip::Tuple> resip::TestDnsHandler::mResultsToGreylist [private] |
Definition at line 201 of file testDns.cxx.
Uri resip::TestDnsHandler::mUri [private] |
Definition at line 197 of file testDns.cxx.
Mutex resip::TestDnsHandler::mutex [private] |
Definition at line 196 of file testDns.cxx.
| std::vector<Tuple> resip::TestDnsHandler::results |
Definition at line 190 of file testDns.cxx.
1.7.5.1