10#include <condition_variable>
47 using ptr = std::shared_ptr<AsyncLooper>;
89 void push(
const char *data,
size_t len)
91 std::unique_lock<std::mutex> lock(
_mutex);
118 std::unique_lock<std::mutex> lock(
_mutex);
异步工作器类
Definition looper.hpp:45
std::atomic< bool > _stop
停止标志
Definition looper.hpp:139
std::mutex _mutex
互斥锁
Definition looper.hpp:142
std::shared_ptr< AsyncLooper > ptr
Definition looper.hpp:47
Buffer _pro_buf
生产缓冲区
Definition looper.hpp:140
AsyncLooper(const Functor &func, AsyncType asynctype=AsyncType::ASYNC_SAFE)
构造函数
Definition looper.hpp:56
std::condition_variable _cond_con
消费者条件变量
Definition looper.hpp:144
void push(const char *data, size_t len)
向生产缓冲区推送数据
Definition looper.hpp:89
AsyncType _looper_type
异步类型
Definition looper.hpp:146
void threadEntry()
线程入口函数
Definition looper.hpp:112
Buffer _con_buf
消费缓冲区
Definition looper.hpp:141
~AsyncLooper()
析构函数
Definition looper.hpp:65
void stop()
停止异步工作器
Definition looper.hpp:76
std::condition_variable _cond_pro
生产者条件变量
Definition looper.hpp:143
std::thread _thread
异步工作器的线程
Definition looper.hpp:145
Functor _callBack
回调函数
Definition looper.hpp:147
异步日志缓冲区类
Definition buffer.hpp:24
void push(const char *data, size_t len)
向缓冲区写入数据
Definition buffer.hpp:43
bool empty()
判空
Definition buffer.hpp:121
size_t writeAbleSize()
获取可写数据的长度
Definition buffer.hpp:76
void swap(Buffer &buffer)
交换当前缓冲区与另一个缓冲区
Definition buffer.hpp:110
void reset()
重置缓冲区
Definition buffer.hpp:98
AsyncType
异步工作器类型
Definition looper.hpp:34
@ ASYNC_UNSAFE
不考虑资源,无限扩容,性能测试
std::function< void(Buffer &)> Functor
回调函数类型
Definition looper.hpp:24