]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/asio/example/cpp03/tutorial/timer5/timer.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / asio / example / cpp03 / tutorial / timer5 / timer.cpp
index 96c6465f15e36839793f895a3c221e5cd9cd8da2..9695670b55d743b358e8dd24981f9eaa5942b521 100644 (file)
@@ -2,7 +2,7 @@
 // timer.cpp
 // ~~~~~~~~~
 //
-// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 class printer
 {
 public:
-  printer(boost::asio::io_service& io)
+  printer(boost::asio::io_context& io)
     : strand_(io),
       timer1_(io, boost::posix_time::seconds(1)),
       timer2_(io, boost::posix_time::seconds(1)),
       count_(0)
   {
-    timer1_.async_wait(strand_.wrap(boost::bind(&printer::print1, this)));
-    timer2_.async_wait(strand_.wrap(boost::bind(&printer::print2, this)));
+    timer1_.async_wait(boost::asio::bind_executor(strand_,
+          boost::bind(&printer::print1, this)));
+
+    timer2_.async_wait(boost::asio::bind_executor(strand_,
+          boost::bind(&printer::print2, this)));
   }
 
   ~printer()
@@ -40,7 +43,9 @@ public:
       ++count_;
 
       timer1_.expires_at(timer1_.expires_at() + boost::posix_time::seconds(1));
-      timer1_.async_wait(strand_.wrap(boost::bind(&printer::print1, this)));
+
+      timer1_.async_wait(boost::asio::bind_executor(strand_,
+            boost::bind(&printer::print1, this)));
     }
   }
 
@@ -52,12 +57,14 @@ public:
       ++count_;
 
       timer2_.expires_at(timer2_.expires_at() + boost::posix_time::seconds(1));
-      timer2_.async_wait(strand_.wrap(boost::bind(&printer::print2, this)));
+
+      timer2_.async_wait(boost::asio::bind_executor(strand_,
+            boost::bind(&printer::print2, this)));
     }
   }
 
 private:
-  boost::asio::io_service::strand strand_;
+  boost::asio::io_context::strand strand_;
   boost::asio::deadline_timer timer1_;
   boost::asio::deadline_timer timer2_;
   int count_;
@@ -65,9 +72,9 @@ private:
 
 int main()
 {
-  boost::asio::io_service io;
+  boost::asio::io_context io;
   printer p(io);
-  boost::thread t(boost::bind(&boost::asio::io_service::run, &io));
+  boost::thread t(boost::bind(&boost::asio::io_context::run, &io));
   io.run();
   t.join();