NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
connection.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_BASE_CON_HPP
29
#define WEBSOCKETPP_TRANSPORT_BASE_CON_HPP
30
31
#include <
websocketpp/common/cpp11.hpp
>
32
#include <
websocketpp/common/connection_hdl.hpp
>
33
#include <
websocketpp/common/functional.hpp
>
34
#include <
websocketpp/common/system_error.hpp
>
35
36
#include <string>
37
38
namespace
websocketpp
{
40
114
namespace
transport {
115
117
typedef
lib::function<void(lib::error_code const &)>
init_handler
;
118
120
typedef
lib::function<void(lib::error_code const &,size_t)>
read_handler
;
121
123
typedef
lib::function<void(lib::error_code const &)>
write_handler
;
124
126
typedef
lib::function<void(lib::error_code const &)>
timer_handler
;
127
129
typedef
lib::function<void(lib::error_code const &)>
shutdown_handler
;
130
132
typedef
lib::function<void()>
interrupt_handler
;
133
135
typedef
lib::function<void()>
dispatch_handler
;
136
138
struct
buffer
{
139
buffer
(
char
const
* b,
size_t
l) :
buf
(b),
len
(l) {}
140
141
char
const
*
buf
;
142
size_t
len
;
143
};
144
146
namespace
error {
147
enum
value
{
150
general
= 1,
151
153
pass_through
,
154
156
invalid_num_bytes
,
157
159
double_read
,
160
162
operation_aborted
,
163
165
operation_not_supported
,
166
168
eof
,
169
171
tls_short_read
,
172
174
timeout
,
175
177
action_after_shutdown
,
178
180
tls_error
181
};
182
183
class
category
:
public
lib::error_category {
184
public
:
185
category
() {}
186
187
char
const
*
name
() const
_WEBSOCKETPP_NOEXCEPT_TOKEN_
{
188
return
"websocketpp.transport"
;
189
}
190
191
std::string
message
(
int
value
)
const
{
192
switch
(value) {
193
case
general
:
194
return
"Generic transport policy error"
;
195
case
pass_through
:
196
return
"Underlying Transport Error"
;
197
case
invalid_num_bytes
:
198
return
"async_read_at_least call requested more bytes than buffer can store"
;
199
case
operation_aborted
:
200
return
"The operation was aborted"
;
201
case
operation_not_supported
:
202
return
"The operation is not supported by this transport"
;
203
case
eof
:
204
return
"End of File"
;
205
case
tls_short_read
:
206
return
"TLS Short Read"
;
207
case
timeout
:
208
return
"Timer Expired"
;
209
case
action_after_shutdown
:
210
return
"A transport action was requested after shutdown"
;
211
case
tls_error
:
212
return
"Generic TLS related error"
;
213
default
:
214
return
"Unknown"
;
215
}
216
}
217
};
218
219
inline
lib::error_category
const
&
get_category
() {
220
static
category
instance;
221
return
instance;
222
}
223
224
inline
lib::error_code
make_error_code
(
error::value
e) {
225
return
lib::error_code(static_cast<int>(e),
get_category
());
226
}
227
228
}
// namespace error
229
}
// namespace transport
230
}
// namespace websocketpp
231
_WEBSOCKETPP_ERROR_CODE_ENUM_NS_START_
232
template
<>
struct
is_error_code_enum<
websocketpp
::
transport::error::value
>
233
{
234
static
bool
const
value
=
true
;
235
};
236
_WEBSOCKETPP_ERROR_CODE_ENUM_NS_END_
237
238
#endif // WEBSOCKETPP_TRANSPORT_BASE_CON_HPP
websocketpp::transport::error::category::name
char const * name() const _WEBSOCKETPP_NOEXCEPT_TOKEN_
Definition:
connection.hpp:187
websocketpp::transport::error::operation_not_supported
Operation not supported.
Definition:
connection.hpp:165
websocketpp::transport::error::eof
End of file.
Definition:
connection.hpp:168
websocketpp::transport::buffer::len
size_t len
Definition:
connection.hpp:142
_WEBSOCKETPP_NOEXCEPT_TOKEN_
#define _WEBSOCKETPP_NOEXCEPT_TOKEN_
Definition:
cpp11.hpp:113
websocketpp::transport::error::invalid_num_bytes
async_read_at_least call requested more bytes than buffer can store
Definition:
connection.hpp:156
websocketpp::transport::write_handler
lib::function< void(lib::error_code const &)> write_handler
The type and signature of the callback passed to the write method.
Definition:
connection.hpp:123
websocketpp::transport::error::tls_short_read
TLS short read.
Definition:
connection.hpp:171
websocketpp::transport::error::category
Definition:
connection.hpp:183
websocketpp::transport::interrupt_handler
lib::function< void()> interrupt_handler
The type and signature of the callback passed to the interrupt method.
Definition:
connection.hpp:132
websocketpp::transport::read_handler
lib::function< void(lib::error_code const &, size_t)> read_handler
The type and signature of the callback passed to the read method.
Definition:
connection.hpp:120
websocketpp::transport::error::pass_through
underlying transport pass through
Definition:
connection.hpp:153
websocketpp::transport::buffer::buf
char const * buf
Definition:
connection.hpp:141
websocketpp::transport::buffer::buffer
buffer(char const *b, size_t l)
Definition:
connection.hpp:139
websocketpp::transport::error::operation_aborted
Operation aborted.
Definition:
connection.hpp:162
websocketpp::transport::error::timeout
Timer expired.
Definition:
connection.hpp:174
websocketpp::transport::error::value
value
Definition:
connection.hpp:147
websocketpp::transport::error::general
Catch-all error for transport policy errors that don't fit in other categories.
Definition:
connection.hpp:150
system_error.hpp
websocketpp::transport::error::category::category
category()
Definition:
connection.hpp:185
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::error::double_read
async_read called while another async_read was in progress
Definition:
connection.hpp:159
websocketpp::transport::error::category::message
std::string message(int value) const
Definition:
connection.hpp:191
websocketpp::transport::timer_handler
lib::function< void(lib::error_code const &)> timer_handler
The type and signature of the callback passed to the read method.
Definition:
connection.hpp:126
websocketpp::transport::shutdown_handler
lib::function< void(lib::error_code const &)> shutdown_handler
The type and signature of the callback passed to the shutdown method.
Definition:
connection.hpp:129
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::error::get_category
lib::error_category const & get_category()
Definition:
connection.hpp:219
websocketpp::transport::init_handler
lib::function< void(lib::error_code const &)> init_handler
The type and signature of the callback passed to the init hook.
Definition:
connection.hpp:117
websocketpp::transport::buffer
A simple utility buffer class.
Definition:
connection.hpp:138
websocketpp::transport::error::tls_error
Other TLS error.
Definition:
connection.hpp:180
cpp11.hpp
connection_hdl.hpp
websocketpp::transport::error::action_after_shutdown
read or write after shutdown
Definition:
connection.hpp:177
_WEBSOCKETPP_ERROR_CODE_ENUM_NS_END_
#define _WEBSOCKETPP_ERROR_CODE_ENUM_NS_END_
Definition:
system_error.hpp:78
websocketpp::transport::error::make_error_code
lib::error_code make_error_code(error::value e)
Definition:
connection.hpp:224
functional.hpp
ndnSIM
NFD
websocketpp
websocketpp
transport
base
connection.hpp
Generated on Fri May 6 2022 12:34:15 for ndnSIM by
1.8.13