NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
base.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2014, Peter Thorson. All rights reserved.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
* * Redistributions of source code must retain the above copyright
7
* notice, this list of conditions and the following disclaimer.
8
* * Redistributions in binary form must reproduce the above copyright
9
* notice, this list of conditions and the following disclaimer in the
10
* documentation and/or other materials provided with the distribution.
11
* * Neither the name of the WebSocket++ Project nor the
12
* names of its contributors may be used to endorse or promote products
13
* derived from this software without specific prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY
19
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
*
26
*/
27
28
#ifndef WEBSOCKETPP_TRANSPORT_DEBUG_BASE_HPP
29
#define WEBSOCKETPP_TRANSPORT_DEBUG_BASE_HPP
30
31
#include <
websocketpp/common/system_error.hpp
>
32
#include <
websocketpp/common/cpp11.hpp
>
33
34
#include <string>
35
36
namespace
websocketpp
{
37
namespace
transport {
40
namespace
debug {
41
43
namespace
error {
44
enum
value
{
47
general
= 1,
48
50
not_implemented
,
51
52
invalid_num_bytes
,
53
54
double_read
55
};
56
58
class
category
:
public
lib::error_category {
59
public
:
60
category
() {}
61
62
char
const
*
name
() const
_WEBSOCKETPP_NOEXCEPT_TOKEN_
{
63
return
"websocketpp.transport.debug"
;
64
}
65
66
std::string
message
(
int
value
)
const
{
67
switch
(value) {
68
case
general
:
69
return
"Generic stub transport policy error"
;
70
case
not_implemented
:
71
return
"feature not implemented"
;
72
case
invalid_num_bytes
:
73
return
"Invalid number of bytes"
;
74
case
double_read
:
75
return
"Read while another read was outstanding"
;
76
default
:
77
return
"Unknown"
;
78
}
79
}
80
};
81
83
inline
lib::error_category
const
&
get_category
() {
84
static
category
instance;
85
return
instance;
86
}
87
89
inline
lib::error_code
make_error_code
(
error::value
e) {
90
return
lib::error_code(static_cast<int>(e),
get_category
());
91
}
92
93
}
// namespace error
94
}
// namespace debug
95
}
// namespace transport
96
}
// namespace websocketpp
97
_WEBSOCKETPP_ERROR_CODE_ENUM_NS_START_
98
template
<>
struct
is_error_code_enum<
websocketpp
::
transport::debug::error::value
>
99
{
100
static
bool
const
value
=
true
;
101
};
102
_WEBSOCKETPP_ERROR_CODE_ENUM_NS_END_
103
104
#endif // WEBSOCKETPP_TRANSPORT_DEBUG_BASE_HPP
websocketpp::transport::debug::error::category::name
char const * name() const _WEBSOCKETPP_NOEXCEPT_TOKEN_
Definition:
base.hpp:62
_WEBSOCKETPP_NOEXCEPT_TOKEN_
#define _WEBSOCKETPP_NOEXCEPT_TOKEN_
Definition:
cpp11.hpp:113
websocketpp::transport::debug::error::double_read
Definition:
base.hpp:54
websocketpp::transport::debug::error::category
debug transport error category
Definition:
base.hpp:58
websocketpp::transport::debug::error::invalid_num_bytes
Definition:
base.hpp:52
system_error.hpp
websocketpp::transport::debug::error::category::category
category()
Definition:
base.hpp:60
websocketpp
Namespace for the WebSocket++ project.
Definition:
base64.hpp:41
_WEBSOCKETPP_ERROR_CODE_ENUM_NS_START_
#define _WEBSOCKETPP_ERROR_CODE_ENUM_NS_START_
Definition:
system_error.hpp:77
websocketpp::transport::debug::error::not_implemented
not implemented
Definition:
base.hpp:50
websocketpp::transport::debug::error::category::message
std::string message(int value) const
Definition:
base.hpp:66
websocketpp::transport::debug::error::get_category
lib::error_category const & get_category()
Get a reference to a static copy of the debug transport error category.
Definition:
base.hpp:83
cpp11.hpp
websocketpp::transport::debug::error::value
value
Definition:
base.hpp:44
_WEBSOCKETPP_ERROR_CODE_ENUM_NS_END_
#define _WEBSOCKETPP_ERROR_CODE_ENUM_NS_END_
Definition:
system_error.hpp:78
websocketpp::transport::debug::error::make_error_code
lib::error_code make_error_code(error::value e)
Get an error code with the given value and the debug transport category.
Definition:
base.hpp:89
websocketpp::transport::debug::error::general
Catch-all error for transport policy errors that don't fit in other categories.
Definition:
base.hpp:47
ndnSIM
NFD
websocketpp
websocketpp
transport
debug
base.hpp
Generated on Fri May 6 2022 12:34:15 for ndnSIM by
1.8.13