This commit is contained in:
Denis Blank 2017-10-04 20:01:15 +02:00
parent 79dedef359
commit 257c1b0062
2 changed files with 38 additions and 4 deletions

View File

@ -28,10 +28,44 @@
SOFTWARE.
**/
#include <asio/io_service.hpp>
#include <chrono>
#include <asio.hpp>
#include <continuable/continuable.hpp>
int main(int, char**) {
using namespace std::chrono_literals;
struct functional_io_service : asio::io_service {
auto post() const noexcept {
return [this](auto&& work) {
asio::io_service::post(std::forward<decltype(work)>(work));
};
}
};
static functional_io_service service;
auto wait_async(std::chrono::milliseconds time) {
return cti::make_continuable<void>([](auto&& promise) {
// ...
promise.set_value();
});
}
int main(int, char**) {
wait_async(10s)
.then([] {
// ...
return wait_async(2s);
})
.then([] {
// ...
});
asio::tim
service.run();
return 0;
}