mirror of
https://github.com/Relintai/rcpp_framework.git
synced 2024-11-14 04:57:21 +01:00
34 lines
1.1 KiB
C++
34 lines
1.1 KiB
C++
#include "core/loops/event_loop.h"
|
|
#include "core/log/logger.h"
|
|
#include <iostream>
|
|
#include <thread>
|
|
#include <chrono>
|
|
using namespace std::literals;
|
|
|
|
int main()
|
|
{
|
|
trantor::Logger::setLogLevel(trantor::Logger::kTrace);
|
|
trantor::EventLoop loop;
|
|
auto id1 = loop.runAfter(1s, []() {
|
|
LOG_ERROR << "This info shouldn't be displayed!";
|
|
});
|
|
loop.invalidateTimer(id1);
|
|
auto id2 = loop.runEvery(0.3s, []() {
|
|
LOG_ERROR << "This timer will be invalidated after 3 second;";
|
|
});
|
|
std::thread thread([id2, &loop]() {
|
|
std::this_thread::sleep_for(3s);
|
|
loop.invalidateTimer(id2);
|
|
});
|
|
thread.detach();
|
|
loop.runEvery(3, []() { LOG_DEBUG << " runEvery 3s"; });
|
|
loop.runAt(trantor::Date::date().after(10),
|
|
[]() { LOG_DEBUG << "runAt 10s later"; });
|
|
loop.runAfter(5, []() { std::cout << "runAt 5s later" << std::endl; });
|
|
loop.runEvery(1, []() { std::cout << "runEvery 1s" << std::endl; });
|
|
loop.runAfter(4, []() { std::cout << "runAfter 4s" << std::endl; });
|
|
loop.runAfter(10min,
|
|
[]() { std::cout << "*********** run after 10 min\n"; });
|
|
loop.loop();
|
|
}
|