reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
DnsThread.cxx
Go to the documentation of this file.
1
#include "
rutil/dns/DnsThread.hxx
"
2
3
#include "
rutil/dns/DnsStub.hxx
"
4
#include "
rutil/FdPoll.hxx
"
5
#include "
rutil/Logger.hxx
"
6
7
#define RESIPROCATE_SUBSYSTEM resip::Subsystem::DNS
8
9
namespace
resip
10
{
11
DnsThread::DnsThread
(
DnsStub
& dns) :
12
mDnsStub(dns)
13
{
14
// ?bwc? Allow creator to specify the FdPollGrp?
15
mPollGrp
.reset(
FdPollGrp::create
());
16
mDnsStub
.
setPollGrp
(
mPollGrp
.get());
17
}
18
19
DnsThread::~DnsThread
()
20
{
21
mDnsStub
.
setPollGrp
(0);
22
}
23
24
void
25
DnsThread::thread
()
26
{
27
while
(!
isShutdown
())
28
{
29
try
30
{
31
mDnsStub
.
processTimers
();
32
mPollGrp
->waitAndProcess(25);
33
}
34
catch
(
BaseException
& e)
35
{
36
ErrLog
(<<
"Unhandled exception: "
<< e);
37
}
38
}
39
}
40
41
}
// of namespace resip
42
43
44
/* ====================================================================
45
* The Vovida Software License, Version 1.0
46
*
47
* Redistribution and use in source and binary forms, with or without
48
* modification, are permitted provided that the following conditions
49
* are met:
50
*
51
* 1. Redistributions of source code must retain the above copyright
52
* notice, this list of conditions and the following disclaimer.
53
*
54
* 2. Redistributions in binary form must reproduce the above copyright
55
* notice, this list of conditions and the following disclaimer in
56
* the documentation and/or other materials provided with the
57
* distribution.
58
*
59
* 3. The names "VOCAL", "Vovida Open Communication Application Library",
60
* and "Vovida Open Communication Application Library (VOCAL)" must
61
* not be used to endorse or promote products derived from this
62
* software without prior written permission. For written
63
* permission, please contact vocal@vovida.org.
64
*
65
* 4. Products derived from this software may not be called "VOCAL", nor
66
* may "VOCAL" appear in their name, without prior written
67
* permission of Vovida Networks, Inc.
68
*
69
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
70
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
71
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
72
* NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA
73
* NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
74
* IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
75
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
76
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
77
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
78
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
79
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
80
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
81
* DAMAGE.
82
*
83
* ====================================================================
84
*
85
* This software consists of voluntary contributions made by Vovida
86
* Networks, Inc. and many individuals on behalf of Vovida Networks,
87
* Inc. For more information on Vovida Networks, Inc., please see
88
* <http://www.vovida.org/>.
89
*
90
*/
DnsStub.hxx
DnsThread.hxx
FdPoll.hxx
Logger.hxx
ErrLog
#define ErrLog(args_)
Definition
Logger.hxx:137
resip::BaseException
The abstract base-class for all exceptions thrown by resip code.
Definition
BaseException.hxx:20
resip::DnsStub
Definition
DnsStub.hxx:112
resip::DnsStub::setPollGrp
void setPollGrp(FdPollGrp *pollGrp)
Definition
DnsStub.cxx:409
resip::DnsStub::processTimers
void processTimers()
Definition
DnsStub.cxx:157
resip::DnsThread::~DnsThread
virtual ~DnsThread()
Definition
DnsThread.cxx:19
resip::DnsThread::thread
virtual void thread()
Definition
DnsThread.cxx:25
resip::DnsThread::DnsThread
DnsThread(DnsStub &dns)
Definition
DnsThread.cxx:11
resip::DnsThread::mDnsStub
DnsStub & mDnsStub
Definition
DnsThread.hxx:24
resip::DnsThread::mPollGrp
std::unique_ptr< FdPollGrp > mPollGrp
Definition
DnsThread.hxx:25
resip::FdPollGrp::create
static FdPollGrp * create(const char *implName=NULL)
factory
Definition
FdPoll.cxx:972
resip::ThreadIf::isShutdown
bool isShutdown() const
Definition
ThreadIf.cxx:212
resip
dcm! – add UnusedChecking(_enum) below;
Definition
AbstractFifo.hxx:16
rutil
dns
DnsThread.cxx
Generated by
1.9.8