WebSocket++
0.8.3-dev
C++ websocket client/server library
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
v
w
z
Functions
b
c
d
e
g
h
i
m
p
r
s
t
u
v
w
Variables
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
Typedefs
Enumerations
Enumerator
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
w
~
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
w
~
Variables
a
c
d
e
f
h
i
l
m
n
r
s
t
w
Typedefs
a
c
e
i
m
p
r
s
t
v
w
Related Functions
Files
File List
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Pages
websocketpp
transport
debug
base.hpp
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
{
38
/// Debug transport policy that is used for various mocking and stubbing duties
39
/// in unit tests.
40
namespace
debug
{
41
42
/// debug transport errors
43
namespace
error
{
44
enum
value
{
45
/// Catch-all error for transport policy errors that don't fit in other
46
/// categories
47
general
= 1,
48
49
/// not implemented
50
not_implemented
,
51
52
invalid_num_bytes,
53
54
double_read
55
};
56
57
/// debug transport error category
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
82
/// Get a reference to a static copy of the debug transport error category
83
inline
lib
::
error_category
const
&
get_category
() {
84
static
category instance;
85
return
instance;
86
}
87
88
/// Get an error code with the given value and the debug transport category
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
debug transport errors
Definition:
base.hpp:43
websocketpp::transport::debug::error::value
value
Definition:
base.hpp:44
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
@ general
Definition:
base.hpp:47
websocketpp::versions_supported
static std::vector< int > const versions_supported(helper, helper+4)
Container that stores the list of protocol versions supported.
websocketpp::transport::debug::error::not_implemented
@ not_implemented
not implemented
Definition:
base.hpp:50
websocketpp::transport::dispatch_handler
lib::function< void()> dispatch_handler
The type and signature of the callback passed to the dispatch method.
Definition:
connection.hpp:135
websocketpp::transport::debug
Definition:
base.hpp:40
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
Generated by
1.8.18