NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
alloc.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_MESSAGE_BUFFER_ALLOC_HPP
29
#define WEBSOCKETPP_MESSAGE_BUFFER_ALLOC_HPP
30
31
#include <
websocketpp/common/memory.hpp
>
32
#include <
websocketpp/frame.hpp
>
33
34
namespace
websocketpp
{
35
namespace
message_buffer {
36
namespace
alloc {
37
40
template
<
typename
message>
41
class
con_msg_manager
42
:
public
lib::enable_shared_from_this<con_msg_manager<message> >
43
{
44
public
:
45
typedef
con_msg_manager<message>
type
;
46
typedef
lib::shared_ptr<con_msg_manager>
ptr
;
47
typedef
lib::weak_ptr<con_msg_manager>
weak_ptr
;
48
49
typedef
typename
message::ptr
message_ptr
;
50
52
55
message_ptr
get_message
() {
56
return
message_ptr
(lib::make_shared<message>(type::shared_from_this()));
57
}
58
60
66
message_ptr
get_message
(
frame::opcode::value
op,
size_t
size
) {
67
return
message_ptr
(lib::make_shared<message>(type::shared_from_this(),op,size));
68
}
69
71
80
bool
recycle
(
message
*) {
81
return
false
;
82
}
83
};
84
87
template
<
typename
con_msg_manager>
88
class
endpoint_msg_manager
{
89
public
:
90
typedef
typename
con_msg_manager::ptr
con_msg_man_ptr
;
91
93
96
con_msg_man_ptr
get_manager
()
const
{
97
return
con_msg_man_ptr(lib::make_shared<con_msg_manager>());
98
}
99
};
100
101
}
// namespace alloc
102
}
// namespace message_buffer
103
}
// namespace websocketpp
104
105
#endif // WEBSOCKETPP_MESSAGE_BUFFER_ALLOC_HPP
websocketpp::message_buffer::alloc::con_msg_manager::get_message
message_ptr get_message(frame::opcode::value op, size_t size)
Get a message buffer with specified size and opcode.
Definition:
alloc.hpp:66
frame.hpp
websocketpp::message_buffer::alloc::con_msg_manager::weak_ptr
lib::weak_ptr< con_msg_manager > weak_ptr
Definition:
alloc.hpp:47
websocketpp::message_buffer::alloc::endpoint_msg_manager::con_msg_man_ptr
con_msg_manager::ptr con_msg_man_ptr
Definition:
alloc.hpp:90
websocketpp::message_buffer::alloc::con_msg_manager::get_message
message_ptr get_message()
Get an empty message buffer.
Definition:
alloc.hpp:55
websocketpp::frame::opcode::value
value
Definition:
frame.hpp:77
websocketpp::message_buffer::message::ptr
lib::shared_ptr< message > ptr
Definition:
message.hpp:86
websocketpp::message_buffer::alloc::endpoint_msg_manager::get_manager
con_msg_man_ptr get_manager() const
Get a pointer to a connection message manager.
Definition:
alloc.hpp:96
websocketpp::message_buffer::alloc::con_msg_manager::recycle
bool recycle(message *)
Recycle a message.
Definition:
alloc.hpp:80
websocketpp
Namespace for the WebSocket++ project.
Definition:
base64.hpp:41
websocketpp::message_buffer::message
Represents a buffer for a single WebSocket message.
Definition:
message.hpp:84
websocketpp::message_buffer::alloc::con_msg_manager::message_ptr
message::ptr message_ptr
Definition:
alloc.hpp:49
websocketpp::message_buffer::alloc::con_msg_manager::type
con_msg_manager< message > type
Definition:
alloc.hpp:45
websocketpp::message_buffer::alloc::con_msg_manager::ptr
lib::shared_ptr< con_msg_manager > ptr
Definition:
alloc.hpp:46
nonstd::span_lite::size
span_constexpr std::size_t size(span< T, Extent > const &spn)
Definition:
span-lite.hpp:1535
websocketpp::message_buffer::alloc::con_msg_manager
A connection message manager that allocates a new message for each request.
Definition:
alloc.hpp:41
websocketpp::message_buffer::alloc::endpoint_msg_manager
An endpoint message manager that allocates a new manager for each connection.
Definition:
alloc.hpp:88
memory.hpp
ndnSIM
NFD
websocketpp
websocketpp
message_buffer
alloc.hpp
Generated on Fri May 6 2022 12:34:15 for ndnSIM by
1.8.13