@@ -98,7 +98,7 @@ namespace utilities {
98
98
{
99
99
public:
100
100
_test_websocket_server (test_websocket_server* test_srv)
101
- : m_test_srv(test_srv), m_work( new boost::asio::io_service::work(m_service))
101
+ : m_test_srv(test_srv)
102
102
{
103
103
m_srv.clear_access_channels (websocketpp::log::alevel::all);
104
104
m_srv.clear_error_channels (websocketpp::log::elevel::all);
@@ -167,7 +167,8 @@ namespace utilities {
167
167
fn (wsmsg);
168
168
});
169
169
170
- m_srv.init_asio (&m_service);
170
+ m_srv.init_asio ();
171
+ m_srv.start_perpetual ();
171
172
172
173
m_srv.set_reuse_addr (true );
173
174
@@ -179,27 +180,20 @@ namespace utilities {
179
180
}
180
181
181
182
m_srv.start_accept ();
182
-
183
- m_thread = std::thread ([this ]()
184
- {
185
- m_service.run ();
186
- return 0 ;
187
- });
183
+ m_thread = std::thread (&server::run, &m_srv);
188
184
}
189
185
190
186
~_test_websocket_server ()
191
187
{
192
188
close (" destructor" );
193
-
194
- m_work.reset ();
195
- m_service.stop ();
189
+ m_srv.stop_listening ();
190
+ m_srv.stop_perpetual ();
196
191
_ASSERTE (m_thread.joinable ());
197
192
m_thread.join ();
198
193
}
199
194
200
195
void send_msg (const test_websocket_msg& msg);
201
196
202
-
203
197
void close (const std::string& reasoning)
204
198
{
205
199
websocketpp::lib::error_code ec;
@@ -211,8 +205,6 @@ namespace utilities {
211
205
212
206
test_websocket_server* m_test_srv;
213
207
214
- boost::asio::io_service m_service;
215
- std::unique_ptr<boost::asio::io_service::work> m_work;
216
208
std::thread m_thread;
217
209
218
210
server m_srv;
0 commit comments