diff options
Diffstat (limited to '3rdparty/asio/src/examples/cpp03/tutorial/timer5/timer.cpp')
-rw-r--r-- | 3rdparty/asio/src/examples/cpp03/tutorial/timer5/timer.cpp | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/3rdparty/asio/src/examples/cpp03/tutorial/timer5/timer.cpp b/3rdparty/asio/src/examples/cpp03/tutorial/timer5/timer.cpp deleted file mode 100644 index a798e85aacf..00000000000 --- a/3rdparty/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +++ /dev/null @@ -1,81 +0,0 @@ -// -// timer.cpp -// ~~~~~~~~~ -// -// Copyright (c) 2003-2016 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) -// - -#include <iostream> -#include <asio.hpp> -#include <boost/bind.hpp> -#include <boost/date_time/posix_time/posix_time.hpp> - -class printer -{ -public: - printer(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(asio::bind_executor(strand_, - boost::bind(&printer::print1, this))); - - timer2_.async_wait(asio::bind_executor(strand_, - boost::bind(&printer::print2, this))); - } - - ~printer() - { - std::cout << "Final count is " << count_ << std::endl; - } - - void print1() - { - if (count_ < 10) - { - std::cout << "Timer 1: " << count_ << std::endl; - ++count_; - - timer1_.expires_at(timer1_.expires_at() + boost::posix_time::seconds(1)); - - timer1_.async_wait(asio::bind_executor(strand_, - boost::bind(&printer::print1, this))); - } - } - - void print2() - { - if (count_ < 10) - { - std::cout << "Timer 2: " << count_ << std::endl; - ++count_; - - timer2_.expires_at(timer2_.expires_at() + boost::posix_time::seconds(1)); - - timer2_.async_wait(asio::bind_executor(strand_, - boost::bind(&printer::print2, this))); - } - } - -private: - asio::io_context::strand strand_; - asio::deadline_timer timer1_; - asio::deadline_timer timer2_; - int count_; -}; - -int main() -{ - asio::io_context io; - printer p(io); - asio::thread t(boost::bind(&asio::io_context::run, &io)); - io.run(); - t.join(); - - return 0; -} |