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