NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
simple_broadcast_server.cpp
Go to the documentation of this file.
1
#include <set>
2
#include <
websocketpp/config/asio_no_tls.hpp
>
3
#include <
websocketpp/server.hpp
>
4
5
typedef
websocketpp::server<websocketpp::config::asio>
server
;
6
7
using
websocketpp::connection_hdl
;
8
using
websocketpp::lib::placeholders::_1;
9
using
websocketpp::lib::placeholders::_2;
10
using
websocketpp::lib::bind;
11
12
class
broadcast_server
{
13
public
:
14
broadcast_server
() {
15
m_server.init_asio();
16
17
m_server.
set_open_handler
(bind(&
broadcast_server::on_open
,
this
,::_1));
18
m_server.
set_close_handler
(bind(&
broadcast_server::on_close
,
this
,::_1));
19
m_server.
set_message_handler
(bind(&
broadcast_server::on_message
,
this
,::_1,::_2));
20
}
21
22
void
on_open
(
connection_hdl
hdl) {
23
m_connections.insert(hdl);
24
}
25
26
void
on_close
(
connection_hdl
hdl) {
27
m_connections.erase(hdl);
28
}
29
30
void
on_message
(
connection_hdl
hdl,
server::message_ptr
msg) {
31
for
(
auto
it : m_connections) {
32
m_server.
send
(it,msg);
33
}
34
}
35
36
void
run
(uint16_t port) {
37
m_server.listen(port);
38
m_server.
start_accept
();
39
m_server.run();
40
}
41
private
:
42
typedef
std::set<connection_hdl,std::owner_less<connection_hdl>> con_list;
43
44
server
m_server;
45
con_list m_connections;
46
};
47
48
int
main
() {
49
broadcast_server
server
;
50
server.
run
(9002);
51
}
broadcast_server::on_close
void on_close(connection_hdl hdl)
Definition:
simple_broadcast_server.cpp:27
server
websocketpp::server< websocketpp::config::asio > server
Definition:
simple_broadcast_server.cpp:6
broadcast_server
Definition:
simple_broadcast_server.cpp:13
websocketpp::endpoint::set_open_handler
void set_open_handler(open_handler h)
Definition:
endpoint.hpp:277
broadcast_server::broadcast_server
broadcast_server()
Definition:
simple_broadcast_server.cpp:14
websocketpp::endpoint< connection< websocketpp::config::asio >, websocketpp::config::asio >::message_ptr
connection_type::message_ptr message_ptr
Type of message pointers that this endpoint uses.
Definition:
endpoint.hpp:70
websocketpp::connection_hdl
lib::weak_ptr< void > connection_hdl
A handle to uniquely identify a connection.
Definition:
connection_hdl.hpp:48
broadcast_server::on_message
void on_message(connection_hdl hdl, server::message_ptr msg)
Definition:
simple_broadcast_server.cpp:31
broadcast_server::on_open
void on_open(connection_hdl hdl)
Definition:
simple_broadcast_server.cpp:23
websocketpp::endpoint::set_close_handler
void set_close_handler(close_handler h)
Definition:
endpoint.hpp:282
websocketpp::server::start_accept
void start_accept(lib::error_code &ec)
Starts the server's async connection acceptance loop (exception free)
Definition:
server_endpoint.hpp:121
websocketpp::server< websocketpp::config::asio >
asio_no_tls.hpp
main
int main()
Definition:
simple_broadcast_server.cpp:49
broadcast_server::run
void run(uint16_t port)
Definition:
simple_broadcast_server.cpp:36
websocketpp::endpoint::set_message_handler
void set_message_handler(message_handler h)
Definition:
endpoint.hpp:322
websocketpp::endpoint::send
void send(connection_hdl hdl, std::string const &payload, frame::opcode::value op, lib::error_code &ec)
Create a message and add it to the outgoing send queue (exception free)
Definition:
endpoint_impl.hpp:162
server.hpp
ndnSIM
NFD
websocketpp
examples
simple_broadcast_server
simple_broadcast_server.cpp
Generated on Fri May 6 2022 12:34:14 for ndnSIM by
1.8.13