Skip to content

Commit afcf09d

Browse files
author
Peter Thorson
committed
Update examples to remove use of now deprecated functionality references #896
1 parent 2c3d714 commit afcf09d

File tree

11 files changed

+86
-25
lines changed

11 files changed

+86
-25
lines changed

examples/associative_storage/associative_storage.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ using websocketpp::connection_hdl;
1010
using websocketpp::lib::placeholders::_1;
1111
using websocketpp::lib::placeholders::_2;
1212
using websocketpp::lib::bind;
13+
using websocketpp::lib::error_code;
1314

1415
struct connection_data {
1516
int sessionid;
@@ -44,6 +45,11 @@ class print_server {
4445
m_connections.erase(hdl);
4546
}
4647

48+
void on_end_accept(error_code lib_ec, error_code trans_ec) {
49+
std::cout << "Accept loop ended "
50+
<< lib_ec.message() << "/" << trans_ec.message() << std::endl;
51+
}
52+
4753
void on_message(connection_hdl hdl, server::message_ptr msg) {
4854
connection_data& data = get_data_from_hdl(hdl);
4955

@@ -71,7 +77,7 @@ class print_server {
7177

7278
void run(uint16_t port) {
7379
m_server.listen(port);
74-
m_server.start_accept();
80+
m_server.start_accept(bind(&print_server::on_end_accept,this,::_1,::_2));
7581
m_server.run();
7682
}
7783
private:

examples/broadcast_server/broadcast_server.cpp

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,12 @@ struct action {
4747
class broadcast_server {
4848
public:
4949
broadcast_server() {
50+
websocketpp::lib::error_code ec;
5051
// Initialize Asio Transport
51-
m_server.init_asio();
52+
m_server.init_asio(ec);
53+
if (!ec) {
54+
return;
55+
}
5256

5357
// Register handler callbacks
5458
m_server.set_open_handler(bind(&broadcast_server::on_open,this,::_1));
@@ -57,18 +61,26 @@ class broadcast_server {
5761
}
5862

5963
void run(uint16_t port) {
64+
websocketpp::lib::error_code ec;
65+
6066
// listen on specified port
61-
m_server.listen(port);
67+
m_server.listen(port,ec);
68+
if (!ec) {
69+
return;
70+
}
6271

6372
// Start the server accept loop
64-
m_server.start_accept();
73+
m_server.start_accept(ec);
74+
if (!ec) {
75+
return;
76+
}
6577

6678
// Start the ASIO io_service run loop
67-
try {
79+
//try {
6880
m_server.run();
69-
} catch (const std::exception & e) {
70-
std::cout << e.what() << std::endl;
71-
}
81+
//} catch (const std::exception & e) {
82+
// std::cout << e.what() << std::endl;
83+
//}
7284
}
7385

7486
void on_open(connection_hdl hdl) {
@@ -100,6 +112,7 @@ class broadcast_server {
100112
}
101113

102114
void process_messages() {
115+
websocketpp::lib::error_code ec;
103116
while(1) {
104117
unique_lock<mutex> lock(m_action_lock);
105118

@@ -123,7 +136,10 @@ class broadcast_server {
123136

124137
con_list::iterator it;
125138
for (it = m_connections.begin(); it != m_connections.end(); ++it) {
126-
m_server.send(*it,a.msg);
139+
m_server.send(*it,a.msg,ec);
140+
if (ec) {
141+
return;
142+
}
127143
}
128144
} else {
129145
// undefined.
@@ -143,7 +159,7 @@ class broadcast_server {
143159
};
144160

145161
int main() {
146-
try {
162+
//try {
147163
broadcast_server server_instance;
148164

149165
// Start a thread to run the processing loop
@@ -154,7 +170,7 @@ int main() {
154170

155171
t.join();
156172

157-
} catch (websocketpp::exception const & e) {
158-
std::cout << e.what() << std::endl;
159-
}
173+
//} catch (websocketpp::exception const & e) {
174+
// std::cout << e.what() << std::endl;
175+
//}
160176
}

examples/debug_client/debug_client.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,12 @@
3030
*/
3131

3232
#include <websocketpp/config/asio_client.hpp>
33-
3433
#include <websocketpp/client.hpp>
3534

3635
#include <iostream>
3736
#include <chrono>
3837

39-
typedef websocketpp::client<websocketpp::config::asio_client> client;
38+
typedef websocketpp::client<websocketpp::config::asio_tls_client> client;
4039

4140
using websocketpp::lib::placeholders::_1;
4241
using websocketpp::lib::placeholders::_2;
@@ -63,7 +62,7 @@ class perftest {
6362

6463
// Register our handlers
6564
m_endpoint.set_socket_init_handler(bind(&type::on_socket_init,this,::_1));
66-
//m_endpoint.set_tls_init_handler(bind(&type::on_tls_init,this,::_1));
65+
m_endpoint.set_tls_init_handler(bind(&type::on_tls_init,this,::_1));
6766
m_endpoint.set_message_handler(bind(&type::on_message,this,::_1,::_2));
6867
m_endpoint.set_open_handler(bind(&type::on_open,this,::_1));
6968
m_endpoint.set_close_handler(bind(&type::on_close,this,::_1));

examples/echo_server/echo_server.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ typedef websocketpp::server<websocketpp::config::asio> server;
99
using websocketpp::lib::placeholders::_1;
1010
using websocketpp::lib::placeholders::_2;
1111
using websocketpp::lib::bind;
12+
using websocketpp::lib::error_code;
1213

1314
// pull out the type of messages sent by our config
1415
typedef server::message_ptr message_ptr;
@@ -34,6 +35,12 @@ void on_message(server* s, websocketpp::connection_hdl hdl, message_ptr msg) {
3435
}
3536
}
3637

38+
// Define a callback to handle failures accepting connections
39+
void on_end_accept(error_code lib_ec, error_code trans_ec) {
40+
std::cout << "Accept loop ended "
41+
<< lib_ec.message() << "/" << trans_ec.message() << std::endl;
42+
}
43+
3744
int main() {
3845
// Create a server endpoint
3946
server echo_server;
@@ -53,7 +60,7 @@ int main() {
5360
echo_server.listen(9002);
5461

5562
// Start the server accept loop
56-
echo_server.start_accept();
63+
echo_server.start_accept(&on_end_accept);
5764

5865
// Start the ASIO io_service run loop
5966
echo_server.run();

examples/echo_server_both/echo_server_both.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ typedef websocketpp::server<websocketpp::config::asio_tls> server_tls;
1212
using websocketpp::lib::placeholders::_1;
1313
using websocketpp::lib::placeholders::_2;
1414
using websocketpp::lib::bind;
15+
using websocketpp::lib::error_code;
1516

1617
// type of the ssl context pointer is long so alias it
1718
typedef websocketpp::lib::shared_ptr<boost::asio::ssl::context> context_ptr;
@@ -34,6 +35,12 @@ void on_message(EndpointType* s, websocketpp::connection_hdl hdl,
3435
}
3536
}
3637

38+
// Define a callback to handle failures accepting connections
39+
void on_end_accept(error_code lib_ec, error_code trans_ec) {
40+
std::cout << "Accept loop ended "
41+
<< lib_ec.message() << "/" << trans_ec.message() << std::endl;
42+
}
43+
3744
// No change to TLS init methods from echo_server_tls
3845
std::string get_password() {
3946
return "test";
@@ -69,7 +76,7 @@ int main() {
6976
endpoint_plain.set_message_handler(
7077
bind(&on_message<server_plain>,&endpoint_plain,::_1,::_2));
7178
endpoint_plain.listen(80);
72-
endpoint_plain.start_accept();
79+
endpoint_plain.start_accept(&on_end_accept);
7380

7481
// set up tls endpoint
7582
server_tls endpoint_tls;
@@ -80,7 +87,7 @@ int main() {
8087
endpoint_tls.set_tls_init_handler(bind(&on_tls_init,::_1));
8188
// tls endpoint listens on a different port
8289
endpoint_tls.listen(443);
83-
endpoint_tls.start_accept();
90+
endpoint_tls.start_accept(&on_end_accept);
8491

8592
// Start the ASIO io_service run loop running both endpoints
8693
ios.run();

examples/echo_server_tls/echo_server_tls.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ typedef websocketpp::server<websocketpp::config::asio_tls> server;
4545
using websocketpp::lib::placeholders::_1;
4646
using websocketpp::lib::placeholders::_2;
4747
using websocketpp::lib::bind;
48+
using websocketpp::lib::error_code;
4849

4950
// pull out the type of messages sent by our config
5051
typedef websocketpp::config::asio::message_type::ptr message_ptr;
@@ -63,6 +64,12 @@ void on_message(server* s, websocketpp::connection_hdl hdl, message_ptr msg) {
6364
}
6465
}
6566

67+
// Define a callback to handle failures accepting connections
68+
void on_end_accept(error_code lib_ec, error_code trans_ec) {
69+
std::cout << "Accept loop ended "
70+
<< lib_ec.message() << "/" << trans_ec.message() << std::endl;
71+
}
72+
6673
void on_http(server* s, websocketpp::connection_hdl hdl) {
6774
server::connection_ptr con = s->get_con_from_hdl(hdl);
6875

@@ -146,7 +153,7 @@ int main() {
146153
echo_server.listen(9002);
147154

148155
// Start the server accept loop
149-
echo_server.start_accept();
156+
echo_server.start_accept(&on_end_accept);
150157

151158
// Start the ASIO io_service run loop
152159
echo_server.run();

examples/enriched_storage/enriched_storage.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ using websocketpp::connection_hdl;
3434
using websocketpp::lib::placeholders::_1;
3535
using websocketpp::lib::placeholders::_2;
3636
using websocketpp::lib::bind;
37+
using websocketpp::lib::error_code;
3738

3839
class print_server {
3940
public:
@@ -57,6 +58,11 @@ class print_server {
5758
std::cout << "Closing connection " << con->name
5859
<< " with sessionid " << con->sessionid << std::endl;
5960
}
61+
62+
void on_end_accept(error_code lib_ec, error_code trans_ec) {
63+
std::cout << "Accept loop ended "
64+
<< lib_ec.message() << "/" << trans_ec.message() << std::endl;
65+
}
6066

6167
void on_message(connection_hdl hdl, server::message_ptr msg) {
6268
connection_ptr con = m_server.get_con_from_hdl(hdl);
@@ -73,7 +79,7 @@ class print_server {
7379

7480
void run(uint16_t port) {
7581
m_server.listen(port);
76-
m_server.start_accept();
82+
m_server.start_accept(bind(&print_server::on_end_accept,this,::_1,::_2));
7783
m_server.run();
7884
}
7985
private:

examples/external_io_service/external_io_service.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
using websocketpp::lib::placeholders::_1;
3535
using websocketpp::lib::placeholders::_2;
3636
using websocketpp::lib::bind;
37+
using websocketpp::lib::error_code;
3738

3839
typedef websocketpp::server<websocketpp::config::asio> ws_echo_server;
3940

@@ -58,6 +59,12 @@ void on_message(ws_echo_server* s, websocketpp::connection_hdl hdl, ws_echo_serv
5859
}
5960
}
6061

62+
// Define a callback to handle failures accepting connections
63+
void on_end_accept(error_code lib_ec, error_code trans_ec) {
64+
std::cout << "Accept loop ended "
65+
<< lib_ec.message() << "/" << trans_ec.message() << std::endl;
66+
}
67+
6168
int main() {
6269
asio::io_service service;
6370

@@ -76,7 +83,7 @@ int main() {
7683
// Register our message handler
7784
ws_server.set_message_handler(bind(&on_message,&ws_server,::_1,::_2));
7885
ws_server.listen(9002);
79-
ws_server.start_accept();
86+
ws_server.start_accept(&on_end_accept);
8087

8188
// TODO: add a timer?
8289

examples/handler_switch/handler_switch.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ int main() {
3636

3737
s.init_asio();
3838
s.listen(9002);
39-
s.start_accept();
39+
s.start_accept(NULL); // ignore errors to keep example code consise
4040

4141
s.run();
4242
}

examples/iostream_server/iostream_server.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ typedef websocketpp::server<websocketpp::config::core> server;
1010
using websocketpp::lib::placeholders::_1;
1111
using websocketpp::lib::placeholders::_2;
1212
using websocketpp::lib::bind;
13+
using websocketpp::lib::error_code;
1314

1415
// pull out the type of messages sent by our config
1516
typedef server::message_ptr message_ptr;
@@ -55,7 +56,12 @@ int main() {
5556
// Register our message handler
5657
s.set_message_handler(bind(&on_message,&s,::_1,::_2));
5758

58-
server::connection_ptr con = s.get_connection();
59+
error_code ec;
60+
server::connection_ptr con = s.get_connection(ec);
61+
if (ec) {
62+
std::cout << "Failed to generate new connection because " << ec.message() << std::endl;
63+
return 1;
64+
}
5965

6066
con->start();
6167

0 commit comments

Comments
 (0)