NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ndnSIM
ndnSIM documentation
All Attributes
All GlobalValues
All LogComponents
All TraceSources
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
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::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::category::message
std::string message(int value) const
Definition:
connection.hpp:191
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 Thu Nov 2 2017 03:30:30 for ndnSIM by
1.8.11