public muduo::noncopyable { public: using Functor = std::function<void()>; EventLoop(); ~EventLoop(); void loop(); //开启事件循环 void quit(); //关闭事件循环 TimeStamp poolReturnTime() const {return pollReturnTime_;} void runInLoop(Functor cb); //mainReactor用于唤醒Subreactor的 void...
Muduo库是基于Reactor模式实现的TCP网络编程库。该文章后续篇幅都是围绕Multi-reactor模型进行展开。Multi-Reactor模型如下所示(网上找的图,不是我画的): 2. Multi-Reactor架构的三大核心模块介绍 2.1 概述 Muduo库有三个核心组件支撑一个reactor实现 [持续] 的 [监听] 一组fd,并根据每个fd上发生的事件 [调用] ...
连接到来时的回调函数:muduo中每个连接封装成一个TcpConnection,在rpc实现中,每个TcpConnection与一个RpcChannel绑定,所以建立每个连接以后,都会创建一个RpcChannel。 远程方法调用的请求到来时的回调函数:调用protobuf的提供的函数将二进制request解析为cpp格式的类型对象,查看request中请求的方法,并调用,从而的到一个reponse。
muduo::Logger(__FILE__, __LINE__).stream() #defineLOG_WARN muduo::Logger(__FILE__, __LINE__, muduo::Logger::WARN).stream() #defineLOG_ERROR muduo::Logger(__FILE__, __LINE__, muduo::Logger::ERROR).stream() #defineLOG_FATAL muduo::Logger(__FILE__, __LINE__, muduo::Logge...
muduo源码分析(一)-整体框架说明 muduo是chenshuo开源的一个基于reactor pattern的多线程网络库。同时他也写了一本关于此网络库的书《Linux多线程服务端编程:使用muduo C++网络库》,推荐阅读。 muduo部分的文章偏向笔者自己的整理,想了解更细节的东西可以找上面那本书出来看看...
Reactor模式:Muduo库采用了Reactor模式进行事件处理。Reactor模式是一种事件处理模式,它将所有的事件源(如socket)注册到一个或多个事件处理器(Reactor)上,当事件发生时,事件处理器会调用相应的事件处理函数。Muduo库中的EventLoop就是Reactor的具体实现。 非阻塞IO:Muduo库使用了非阻塞IO模型,这意味着在进行网络读写操...
第三步:安装muduo库 ./build.sh install 默认情况下: muduo头文件安装在../build/release-install-cpp11/include目录下 库文件安装在../build/release-install-cpp11/lib目录下 以便muduo-protorpc和muduo-udns等库使用 第三步(测试) ...
性能对比原则:采用对方的性能测试方案,用muduo实现功能相同 或类似的程序,然后放到相同的软硬件环境中对比。 注意这里的测试只是简单地比较了平均值;其实在严肃的性能对比 中至少还应该考虑分布和百分位数(percentile)的值(http://zedshaw.com/essays/programmer_stats.html、http://www.per...
#include <muduo/net/TcpServer.h> #include <muduo/net/EventLoop.h> #include <muduo/net/InetAddress.h> #include <boost/bind.hpp> #include <stdio.h> using namespace muduo; using namespace muduo::net; class TestServer { public: TestServer(EventLoop *loop, const InetAddress &listenAddr) ...
Muduo是一个基于C++语言的开源网络库,主要用于开发高性能的服务器应用程序。它包含了TCP/UDP网络编程、多线程并发、定时器、事件驱动等功能,能够帮助开发者快速构建高性能、可扩展的服务器应用。 具体来说,Muduo的作用包括但不限于以下几个方面: 网络编程:Muduo提供了TCP和UDP的封装,使得开发者可以方便地进行网络通信...