48 lines
732 B
C++
48 lines
732 B
C++
#include "muduo/net/EventLoop.h"
|
|
|
|
#include <iostream>
|
|
|
|
class Printer : muduo::noncopyable
|
|
{
|
|
public:
|
|
Printer(muduo::net::EventLoop* loop)
|
|
: loop_(loop),
|
|
count_(0)
|
|
{
|
|
// Note: loop.runEvery() is better for this use case.
|
|
loop_->runAfter(1, std::bind(&Printer::print, this));
|
|
}
|
|
|
|
~Printer()
|
|
{
|
|
std::cout << "Final count is " << count_ << "\n";
|
|
}
|
|
|
|
void print()
|
|
{
|
|
if (count_ < 5)
|
|
{
|
|
std::cout << count_ << "\n";
|
|
++count_;
|
|
|
|
loop_->runAfter(1, std::bind(&Printer::print, this));
|
|
}
|
|
else
|
|
{
|
|
loop_->quit();
|
|
}
|
|
}
|
|
|
|
private:
|
|
muduo::net::EventLoop* loop_;
|
|
int count_;
|
|
};
|
|
|
|
int main()
|
|
{
|
|
muduo::net::EventLoop loop;
|
|
Printer printer(&loop);
|
|
loop.loop();
|
|
}
|
|
|