├── .clang-format ├── .clangd ├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── docs ├── BeforeStart.md ├── Logbook │ ├── README.md │ ├── Reactor │ │ └── Poller.md │ ├── interview.md │ ├── 一些测试过程中的问题.md │ ├── 关于线程池.md │ ├── 可以优化的地方.md │ ├── 并发模型.md │ └── 日志的实现.md ├── Modules │ ├── Log.md │ ├── README.md │ ├── Reactor │ │ └── Reactor.md │ ├── Thread.md │ └── Util.md ├── README.md ├── TODO.md ├── Tests │ └── TestResult.md └── docResource │ ├── codeCount.jpg │ ├── firstConnClose.png │ ├── firstConnStart.png │ └── load.jpg ├── main.cpp ├── src ├── Http │ ├── HttpData.cpp │ ├── HttpData.cpp.old │ ├── HttpData.h │ ├── HttpData.h.old │ ├── HttpRequest.cpp.invalid │ ├── HttpRequest.h.invalid │ ├── HttpResponse.cpp.invalid │ └── HttpResponse.h.invalid ├── Log │ ├── AsynLog.cpp │ ├── AsynLog.h │ ├── CountDownLatch.cpp │ ├── CountDownLatch.h │ ├── FileWriter.cpp │ ├── FileWriter.h │ ├── LogBuffer.h │ ├── LogConfig.h │ ├── LogFile.cpp │ ├── LogFile.h │ ├── Logger.cpp │ ├── Logger.h │ ├── SynLog.cpp │ └── SynLog.h ├── Reactor │ ├── Channel.cpp │ ├── Channel.h │ ├── EventLoop.cpp │ ├── EventLoop.h │ ├── EventLoopThread.cpp │ ├── EventLoopThread.h │ ├── EventLoopThreadPool.cpp │ ├── EventLoopThreadPool.h │ ├── Poller.cpp │ ├── Poller.h │ ├── Timer.cpp │ └── Timer.h ├── Server │ ├── Server.cpp │ └── Server.h ├── Thread │ ├── MTQueue.h │ ├── ThreadInfo.cpp │ ├── ThreadInfo.h │ ├── ThreadPool.cpp │ ├── ThreadPool.h │ └── threadGroup.h └── Util │ ├── Timestamp.cpp │ ├── Timestamp.h │ ├── miscUtil.h │ ├── noncopyable.h │ ├── sockUtil.cpp │ └── sockUtil.h ├── tests ├── CMakeLists.txt ├── test_LogGenerate.cpp ├── test_ThreadPool.cpp ├── test_asynLog.cpp ├── test_server.cpp └── test_syncLog.cpp └── webbench-1.5 ├── COPYRIGHT ├── ChangeLog ├── Makefile ├── README.md ├── debian ├── changelog ├── control ├── copyright ├── dirs └── rules ├── socket.c ├── webbench ├── webbench.1 ├── webbench.c └── webbench.o /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/.clang-format -------------------------------------------------------------------------------- /.clangd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/.clangd -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .cache 2 | build 3 | .DS_Store 4 | .VSCodeCounter -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/README.md -------------------------------------------------------------------------------- /docs/BeforeStart.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/BeforeStart.md -------------------------------------------------------------------------------- /docs/Logbook/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/Logbook/README.md -------------------------------------------------------------------------------- /docs/Logbook/Reactor/Poller.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/Logbook/Reactor/Poller.md -------------------------------------------------------------------------------- /docs/Logbook/interview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/Logbook/interview.md -------------------------------------------------------------------------------- /docs/Logbook/一些测试过程中的问题.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/Logbook/一些测试过程中的问题.md -------------------------------------------------------------------------------- /docs/Logbook/关于线程池.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/Logbook/关于线程池.md -------------------------------------------------------------------------------- /docs/Logbook/可以优化的地方.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/Logbook/可以优化的地方.md -------------------------------------------------------------------------------- /docs/Logbook/并发模型.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/Logbook/并发模型.md -------------------------------------------------------------------------------- /docs/Logbook/日志的实现.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/Logbook/日志的实现.md -------------------------------------------------------------------------------- /docs/Modules/Log.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/Modules/Log.md -------------------------------------------------------------------------------- /docs/Modules/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/Modules/README.md -------------------------------------------------------------------------------- /docs/Modules/Reactor/Reactor.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/Modules/Reactor/Reactor.md -------------------------------------------------------------------------------- /docs/Modules/Thread.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/Modules/Thread.md -------------------------------------------------------------------------------- /docs/Modules/Util.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/Modules/Util.md -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/TODO.md -------------------------------------------------------------------------------- /docs/Tests/TestResult.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/Tests/TestResult.md -------------------------------------------------------------------------------- /docs/docResource/codeCount.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/docResource/codeCount.jpg -------------------------------------------------------------------------------- /docs/docResource/firstConnClose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/docResource/firstConnClose.png -------------------------------------------------------------------------------- /docs/docResource/firstConnStart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/docResource/firstConnStart.png -------------------------------------------------------------------------------- /docs/docResource/load.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/docs/docResource/load.jpg -------------------------------------------------------------------------------- /main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/main.cpp -------------------------------------------------------------------------------- /src/Http/HttpData.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Http/HttpData.cpp -------------------------------------------------------------------------------- /src/Http/HttpData.cpp.old: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Http/HttpData.cpp.old -------------------------------------------------------------------------------- /src/Http/HttpData.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Http/HttpData.h -------------------------------------------------------------------------------- /src/Http/HttpData.h.old: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Http/HttpData.h.old -------------------------------------------------------------------------------- /src/Http/HttpRequest.cpp.invalid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Http/HttpRequest.cpp.invalid -------------------------------------------------------------------------------- /src/Http/HttpRequest.h.invalid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Http/HttpRequest.h.invalid -------------------------------------------------------------------------------- /src/Http/HttpResponse.cpp.invalid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Http/HttpResponse.cpp.invalid -------------------------------------------------------------------------------- /src/Http/HttpResponse.h.invalid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Http/HttpResponse.h.invalid -------------------------------------------------------------------------------- /src/Log/AsynLog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Log/AsynLog.cpp -------------------------------------------------------------------------------- /src/Log/AsynLog.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Log/AsynLog.h -------------------------------------------------------------------------------- /src/Log/CountDownLatch.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Log/CountDownLatch.cpp -------------------------------------------------------------------------------- /src/Log/CountDownLatch.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Log/CountDownLatch.h -------------------------------------------------------------------------------- /src/Log/FileWriter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Log/FileWriter.cpp -------------------------------------------------------------------------------- /src/Log/FileWriter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Log/FileWriter.h -------------------------------------------------------------------------------- /src/Log/LogBuffer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Log/LogBuffer.h -------------------------------------------------------------------------------- /src/Log/LogConfig.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Log/LogConfig.h -------------------------------------------------------------------------------- /src/Log/LogFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Log/LogFile.cpp -------------------------------------------------------------------------------- /src/Log/LogFile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Log/LogFile.h -------------------------------------------------------------------------------- /src/Log/Logger.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Log/Logger.cpp -------------------------------------------------------------------------------- /src/Log/Logger.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Log/Logger.h -------------------------------------------------------------------------------- /src/Log/SynLog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Log/SynLog.cpp -------------------------------------------------------------------------------- /src/Log/SynLog.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Log/SynLog.h -------------------------------------------------------------------------------- /src/Reactor/Channel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Reactor/Channel.cpp -------------------------------------------------------------------------------- /src/Reactor/Channel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Reactor/Channel.h -------------------------------------------------------------------------------- /src/Reactor/EventLoop.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Reactor/EventLoop.cpp -------------------------------------------------------------------------------- /src/Reactor/EventLoop.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Reactor/EventLoop.h -------------------------------------------------------------------------------- /src/Reactor/EventLoopThread.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Reactor/EventLoopThread.cpp -------------------------------------------------------------------------------- /src/Reactor/EventLoopThread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Reactor/EventLoopThread.h -------------------------------------------------------------------------------- /src/Reactor/EventLoopThreadPool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Reactor/EventLoopThreadPool.cpp -------------------------------------------------------------------------------- /src/Reactor/EventLoopThreadPool.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Reactor/EventLoopThreadPool.h -------------------------------------------------------------------------------- /src/Reactor/Poller.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Reactor/Poller.cpp -------------------------------------------------------------------------------- /src/Reactor/Poller.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Reactor/Poller.h -------------------------------------------------------------------------------- /src/Reactor/Timer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Reactor/Timer.cpp -------------------------------------------------------------------------------- /src/Reactor/Timer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Reactor/Timer.h -------------------------------------------------------------------------------- /src/Server/Server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Server/Server.cpp -------------------------------------------------------------------------------- /src/Server/Server.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Server/Server.h -------------------------------------------------------------------------------- /src/Thread/MTQueue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Thread/MTQueue.h -------------------------------------------------------------------------------- /src/Thread/ThreadInfo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Thread/ThreadInfo.cpp -------------------------------------------------------------------------------- /src/Thread/ThreadInfo.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Thread/ThreadInfo.h -------------------------------------------------------------------------------- /src/Thread/ThreadPool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Thread/ThreadPool.cpp -------------------------------------------------------------------------------- /src/Thread/ThreadPool.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Thread/ThreadPool.h -------------------------------------------------------------------------------- /src/Thread/threadGroup.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Thread/threadGroup.h -------------------------------------------------------------------------------- /src/Util/Timestamp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Util/Timestamp.cpp -------------------------------------------------------------------------------- /src/Util/Timestamp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Util/Timestamp.h -------------------------------------------------------------------------------- /src/Util/miscUtil.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Util/miscUtil.h -------------------------------------------------------------------------------- /src/Util/noncopyable.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Util/noncopyable.h -------------------------------------------------------------------------------- /src/Util/sockUtil.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Util/sockUtil.cpp -------------------------------------------------------------------------------- /src/Util/sockUtil.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/src/Util/sockUtil.h -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/tests/CMakeLists.txt -------------------------------------------------------------------------------- /tests/test_LogGenerate.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/tests/test_LogGenerate.cpp -------------------------------------------------------------------------------- /tests/test_ThreadPool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/tests/test_ThreadPool.cpp -------------------------------------------------------------------------------- /tests/test_asynLog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/tests/test_asynLog.cpp -------------------------------------------------------------------------------- /tests/test_server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/tests/test_server.cpp -------------------------------------------------------------------------------- /tests/test_syncLog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/tests/test_syncLog.cpp -------------------------------------------------------------------------------- /webbench-1.5/COPYRIGHT: -------------------------------------------------------------------------------- 1 | debian/copyright -------------------------------------------------------------------------------- /webbench-1.5/ChangeLog: -------------------------------------------------------------------------------- 1 | debian/changelog -------------------------------------------------------------------------------- /webbench-1.5/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/webbench-1.5/Makefile -------------------------------------------------------------------------------- /webbench-1.5/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/webbench-1.5/README.md -------------------------------------------------------------------------------- /webbench-1.5/debian/changelog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/webbench-1.5/debian/changelog -------------------------------------------------------------------------------- /webbench-1.5/debian/control: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/webbench-1.5/debian/control -------------------------------------------------------------------------------- /webbench-1.5/debian/copyright: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/webbench-1.5/debian/copyright -------------------------------------------------------------------------------- /webbench-1.5/debian/dirs: -------------------------------------------------------------------------------- 1 | usr/bin -------------------------------------------------------------------------------- /webbench-1.5/debian/rules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/webbench-1.5/debian/rules -------------------------------------------------------------------------------- /webbench-1.5/socket.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/webbench-1.5/socket.c -------------------------------------------------------------------------------- /webbench-1.5/webbench: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/webbench-1.5/webbench -------------------------------------------------------------------------------- /webbench-1.5/webbench.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/webbench-1.5/webbench.1 -------------------------------------------------------------------------------- /webbench-1.5/webbench.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/webbench-1.5/webbench.c -------------------------------------------------------------------------------- /webbench-1.5/webbench.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EasyCommanderZ/EasyServer/HEAD/webbench-1.5/webbench.o --------------------------------------------------------------------------------