reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
TransportFailure.cxx
Go to the documentation of this file.
2
3using namespace resip;
4
5TransportFailure::TransportFailure(const Data& transactionId, FailureReason f, int subCode)
6 : mTransactionId(transactionId),
7 mFailureReason(f), mFailureSubCode(subCode)
8{
9}
10
11const Data&
13{
14 return mTransactionId;
15}
16
17bool
19{
20 // !jf! not strictly true
21 return true;
22}
23
25TransportFailure::encodeBrief(EncodeStream& str) const
26{
27 return str << "TransportFailure: " << mTransactionId;
28}
29
31TransportFailure::encode(EncodeStream& strm) const
32{
33 return encodeBrief(strm);
34}
35
36const char*
38{
39 switch (failureReason)
40 {
42 return "None";
44 return "TransportNoExistConn";
46 return "Failure";
48 return "TransportNoSocket";
50 return "TransportBadConnect";
52 return "TransportShutdown";
54 return "ConnectionUnknown";
56 return "ConnectionException";
58 return "NoTransport";
60 return "NoRoute";
62 return "CertNameMismatch";
64 return "CertValidationFailure";
65 default:
66 resip_assert(false);
67 return "UNKNOWN";
68 }
69}
70
71/* ====================================================================
72 * The Vovida Software License, Version 1.0
73 *
74 * Redistribution and use in source and binary forms, with or without
75 * modification, are permitted provided that the following conditions
76 * are met:
77 *
78 * 1. Redistributions of source code must retain the above copyright
79 * notice, this list of conditions and the following disclaimer.
80 *
81 * 2. Redistributions in binary form must reproduce the above copyright
82 * notice, this list of conditions and the following disclaimer in
83 * the documentation and/or other materials provided with the
84 * distribution.
85 *
86 * 3. The names "VOCAL", "Vovida Open Communication Application Library",
87 * and "Vovida Open Communication Application Library (VOCAL)" must
88 * not be used to endorse or promote products derived from this
89 * software without prior written permission. For written
90 * permission, please contact vocal@vovida.org.
91 *
92 * 4. Products derived from this software may not be called "VOCAL", nor
93 * may "VOCAL" appear in their name, without prior written
94 * permission of Vovida Networks, Inc.
95 *
96 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
97 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
98 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
99 * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA
100 * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
101 * IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
102 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
103 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
104 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
105 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
106 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
107 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
108 * DAMAGE.
109 *
110 * ====================================================================
111 *
112 * This software consists of voluntary contributions made by Vovida
113 * Networks, Inc. and many individuals on behalf of Vovida Networks,
114 * Inc. For more information on Vovida Networks, Inc., please see
115 * <http://www.vovida.org/>.
116 *
117 * vi: set shiftwidth=3 expandtab:
118 */
#define resip_assert(x)
This file needs to work for both C and C++ code.
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
Definition Data.hxx:90
virtual const Data & getTransactionId() const
virtual bool isClientTransaction() const
static const char * failureReasonToString(FailureReason failureReason)
TransportFailure(const Data &transactionId, FailureReason f, int subCode=0)
virtual EncodeStream & encode(EncodeStream &strm) const
output the entire message to stream
virtual EncodeStream & encodeBrief(EncodeStream &str) const
output a brief description to stream
dcm! – add UnusedChecking(_enum) below;
#define EncodeStream