05 2021 档案
摘要:相关文件 muduo/net/Buffer.h muduo/net/Buffer.cc 功能 为了让一个线程能服务于多个socket连接,IO线程只能阻塞在IO多路复用函数(如epoll_wait/poll),所以read/write等IO系统调用需设置为非阻塞non-blocking。因此每个TC
阅读全文
摘要:相关文件 //IO线程池 muduo/net/EventLoopThreadPool.h muduo/net/EventLoopThreadPool.cc //IO线程类 muduo/net/EventLoopThread.h muduo/net/EventLoopTHread.cc 作用 Even
阅读全文
摘要:相关文件 muduo/net/TcpConnection.h muduo/net/TcpConnection.cc 作用 TcpConnection是muduo中一个连接的抽象封装,表示"一次TCP连接"。 TcpConnection没有对外的用户接口,其对象由TcpServer创建。 在TcpSe
阅读全文
摘要:相关文件 muduo/net/TcpServer.h muduo/net/TcpServer.cc 作用 TcpSever用于管理Acceptor获得的新连接TcpConnection. TcpSever中包含一个TcpConnection列表。 TcpSever供用户直接使用,用户只需要设置好回调
阅读全文
摘要:相关文件 muduo/net/Acceptor.h muduo/net/Acceptor.cc //用RAII方法封装socket file descriptor muduo/net/Socket.h muduo/net/Socket.cc //封装了socket相关系统调用(全局函数,位于mudu
阅读全文
摘要:相关文件 muduo/net/EventLoop.h muduo/net/EventLoop.cc 作用 任何一个线程,只要创建并运行了EventLoop,都称之为IO线程。runInLoop()使得IO线程能够执行某个用户任务回调。 如果用户在当前IO线程调用这个函数,回调会同步进行;如果用户在其
阅读全文
摘要:相关文件 事件戳类,包含一个int64的时间戳数据成员 muduo/base/Timestamp.cc muduo/base/Timestamp.h 内部定时器类,主要包含时间戳和回调函数 muduo/net/Timer.h muduo/net/Timer.cc TimerQueue类,管理定时器
阅读全文
摘要:相关文件 muduo/net/Poller.h muduo/net/Poller.cc muduo/net/poller/* 作用 Poller是对IO多路复用的封装,在muduo中支持poll和epoll两种IO multiplexing机制。 Poller是EventLoop的间接成员,Even
阅读全文
摘要:相关文件 muduo/net/Channel.h muduo/net/Channel.cc 作用 Channel可理解为一个文件描述符fd和如何处理它的事件的回调函数的封装。 Channel负责注册和响应IO事件。 muduo用户一般不直接使用Channel,而使用更上一层的封装,如TCPConne
阅读全文
摘要:相关文件 muduo/net/EventLoop.h muduo/net/EventLoop.cc 作用 EventLoop,顾名思义,事件循环。 创建了EventLoop对象的线程是IO线程,主要功能是运行事件循环EventLoop::loop()。 个人理解为调用poll/epoll的那个whi
阅读全文
摘要:相关文件 muduo/base/Logging.h --Logger类的声明和LOG_INFO等宏定义 muduo/base/Logging.cc --Logger构造、析构等方法的实现 muduo/base/LogStream.h --FixedBuffer类和LogStream类 muduo/b
阅读全文
摘要:什么是跳表skiplist 一种基于链表list改造的数据结构,以空间换时间的方式加速链表的搜索。 具体定义这里不赘述,具体可看传送门:漫画小灰之跳表 本文主要赏析github上一个跳表项目的实现 传送门:一个使用C++编程实现的基于跳表的轻量级键值型数据库 项目中跳表实现都在一个头文件skipLi
阅读全文
摘要:相关文件 源文件 \muduo\base\Singleton.h 测试文件 \muduo\base\tests\Singleton_test.cc 用途 单例模式用于保证一个类只能创建一个实例对象 使用 mudou中使用Singleton获取Test类的实例: muduo::Singleton<Te
阅读全文

浙公网安备 33010602011771号