Commit a8ad056abc616af5ff55cf6dd5d73942c9c148e2

Authored by Grzegorz Jabłoński
1 parent 3a0a35ab

Updated mutithreaded example

Showing 1 changed file with 13 additions and 6 deletions
13-daytime8.cpp
@@ -50,9 +50,12 @@ public: @@ -50,9 +50,12 @@ public:
50 private: 50 private:
51 tcp_connection(asio::io_context &io_context) : socket_(io_context) {} 51 tcp_connection(asio::io_context &io_context) : socket_(io_context) {}
52 52
53 - void handle_write(const asio::error_code & /*error*/,  
54 - size_t /*bytes_transferred*/) {  
55 - std::cout << "Written!" << std::endl; 53 + void handle_write(const asio::error_code &error, size_t bytes_transferred) {
  54 + std::cout << error.category().name() << " : " << error.value() << " : " << error.message() << std::endl;
  55 + if (error)
  56 + std::cout << "Error" << std::endl;
  57 + else
  58 + std::cout << "Written " << bytes_transferred << " bytes" << std::endl;
56 } 59 }
57 60
58 tcp::socket socket_; 61 tcp::socket socket_;
@@ -90,9 +93,7 @@ private: @@ -90,9 +93,7 @@ private:
90 tcp::acceptor acceptor_; 93 tcp::acceptor acceptor_;
91 }; 94 };
92 95
93 -void WorkerThread(std::shared_ptr<asio::io_context> io_svc) {  
94 - io_svc->run();  
95 -} 96 +void WorkerThread(std::shared_ptr<asio::io_context> io_svc) { io_svc->run(); }
96 97
97 int main() { 98 int main() {
98 try { 99 try {
@@ -107,6 +108,12 @@ int main() { @@ -107,6 +108,12 @@ int main() {
107 108
108 tcp_server server(*io_context); 109 tcp_server server(*io_context);
109 110
  111 + std::cout << "Press ENTER key to exit!" << std::endl;
  112 +
  113 + std::cin.get();
  114 +
  115 + io_context->stop();
  116 +
110 for (auto &i : threads) 117 for (auto &i : threads)
111 i.join(); 118 i.join();
112 119