├── .vscode └── settings.json ├── History.md ├── LICENSE ├── README.md ├── _config.yml ├── file ├── mine_qps.png ├── mine_qps_lstr.png ├── muduo_qps.png ├── serverarch1.png ├── serverarch2.png └── serverarch2_0.png └── webserver ├── .vscode ├── launch.json ├── settings.json └── tasks.json ├── analysis ├── nlq_nrb.svg ├── webserver.svg └── ylq_yrb.svg ├── clang-format ├── http ├── KHttpContext.cpp ├── KHttpContext.h ├── KHttpRequest.h ├── KHttpResponse.cpp ├── KHttpResponse.h ├── KHttpServer.cpp ├── KHttpServer.h ├── KIcons.cpp └── KIcons.h ├── index.html ├── lock ├── KLockFreeQueue.h └── KSpinLock.h ├── loop ├── KAsyncWaker.cpp ├── KAsyncWaker.h ├── KEventLoop.cpp ├── KEventLoop.h ├── KEventLoopThread.cpp ├── KEventLoopThread.h ├── KEventLoopThreadPool.cpp └── KEventLoopThreadPool.h ├── poller ├── KChannel.cpp ├── KChannel.h ├── KEventManager.cpp └── KEventManager.h ├── runHttpServer ├── runHttpServer.cpp ├── tcp ├── KAcceptor.cpp ├── KAcceptor.h ├── KBuffer.cpp ├── KBuffer.h ├── KInetAddress.cpp ├── KInetAddress.h ├── KRingBuffer.cpp ├── KRingBuffer.h ├── KSocket.cpp ├── KSocket.h ├── KSocketsOps.cpp ├── KSocketsOps.h ├── KTcpConnection.cpp ├── KTcpConnection.h ├── KTcpServer.cpp └── KTcpServer.h ├── thread ├── KThreadPool.cpp ├── KThreadPool.h └── test_kthreadpool.cpp ├── timer ├── KTimer.cpp └── KTimer.h └── utils ├── KCallbacks.h ├── KTimestamp.cpp ├── KTimestamp.h ├── KTypes.h ├── Kcopyable.h └── Knoncopyable.h /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /History.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/History.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/README.md -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/_config.yml -------------------------------------------------------------------------------- /file/mine_qps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/file/mine_qps.png -------------------------------------------------------------------------------- /file/mine_qps_lstr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/file/mine_qps_lstr.png -------------------------------------------------------------------------------- /file/muduo_qps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/file/muduo_qps.png -------------------------------------------------------------------------------- /file/serverarch1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/file/serverarch1.png -------------------------------------------------------------------------------- /file/serverarch2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/file/serverarch2.png -------------------------------------------------------------------------------- /file/serverarch2_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/file/serverarch2_0.png -------------------------------------------------------------------------------- /webserver/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/.vscode/launch.json -------------------------------------------------------------------------------- /webserver/.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/.vscode/settings.json -------------------------------------------------------------------------------- /webserver/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/.vscode/tasks.json -------------------------------------------------------------------------------- /webserver/analysis/nlq_nrb.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/analysis/nlq_nrb.svg -------------------------------------------------------------------------------- /webserver/analysis/webserver.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/analysis/webserver.svg -------------------------------------------------------------------------------- /webserver/analysis/ylq_yrb.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/analysis/ylq_yrb.svg -------------------------------------------------------------------------------- /webserver/clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/clang-format -------------------------------------------------------------------------------- /webserver/http/KHttpContext.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/http/KHttpContext.cpp -------------------------------------------------------------------------------- /webserver/http/KHttpContext.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/http/KHttpContext.h -------------------------------------------------------------------------------- /webserver/http/KHttpRequest.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/http/KHttpRequest.h -------------------------------------------------------------------------------- /webserver/http/KHttpResponse.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/http/KHttpResponse.cpp -------------------------------------------------------------------------------- /webserver/http/KHttpResponse.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/http/KHttpResponse.h -------------------------------------------------------------------------------- /webserver/http/KHttpServer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/http/KHttpServer.cpp -------------------------------------------------------------------------------- /webserver/http/KHttpServer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/http/KHttpServer.h -------------------------------------------------------------------------------- /webserver/http/KIcons.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/http/KIcons.cpp -------------------------------------------------------------------------------- /webserver/http/KIcons.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | extern char favicon[555]; -------------------------------------------------------------------------------- /webserver/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/index.html -------------------------------------------------------------------------------- /webserver/lock/KLockFreeQueue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/lock/KLockFreeQueue.h -------------------------------------------------------------------------------- /webserver/lock/KSpinLock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/lock/KSpinLock.h -------------------------------------------------------------------------------- /webserver/loop/KAsyncWaker.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/loop/KAsyncWaker.cpp -------------------------------------------------------------------------------- /webserver/loop/KAsyncWaker.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/loop/KAsyncWaker.h -------------------------------------------------------------------------------- /webserver/loop/KEventLoop.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/loop/KEventLoop.cpp -------------------------------------------------------------------------------- /webserver/loop/KEventLoop.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/loop/KEventLoop.h -------------------------------------------------------------------------------- /webserver/loop/KEventLoopThread.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/loop/KEventLoopThread.cpp -------------------------------------------------------------------------------- /webserver/loop/KEventLoopThread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/loop/KEventLoopThread.h -------------------------------------------------------------------------------- /webserver/loop/KEventLoopThreadPool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/loop/KEventLoopThreadPool.cpp -------------------------------------------------------------------------------- /webserver/loop/KEventLoopThreadPool.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/loop/KEventLoopThreadPool.h -------------------------------------------------------------------------------- /webserver/poller/KChannel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/poller/KChannel.cpp -------------------------------------------------------------------------------- /webserver/poller/KChannel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/poller/KChannel.h -------------------------------------------------------------------------------- /webserver/poller/KEventManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/poller/KEventManager.cpp -------------------------------------------------------------------------------- /webserver/poller/KEventManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/poller/KEventManager.h -------------------------------------------------------------------------------- /webserver/runHttpServer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/runHttpServer -------------------------------------------------------------------------------- /webserver/runHttpServer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/runHttpServer.cpp -------------------------------------------------------------------------------- /webserver/tcp/KAcceptor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KAcceptor.cpp -------------------------------------------------------------------------------- /webserver/tcp/KAcceptor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KAcceptor.h -------------------------------------------------------------------------------- /webserver/tcp/KBuffer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KBuffer.cpp -------------------------------------------------------------------------------- /webserver/tcp/KBuffer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KBuffer.h -------------------------------------------------------------------------------- /webserver/tcp/KInetAddress.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KInetAddress.cpp -------------------------------------------------------------------------------- /webserver/tcp/KInetAddress.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KInetAddress.h -------------------------------------------------------------------------------- /webserver/tcp/KRingBuffer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KRingBuffer.cpp -------------------------------------------------------------------------------- /webserver/tcp/KRingBuffer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KRingBuffer.h -------------------------------------------------------------------------------- /webserver/tcp/KSocket.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KSocket.cpp -------------------------------------------------------------------------------- /webserver/tcp/KSocket.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KSocket.h -------------------------------------------------------------------------------- /webserver/tcp/KSocketsOps.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KSocketsOps.cpp -------------------------------------------------------------------------------- /webserver/tcp/KSocketsOps.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KSocketsOps.h -------------------------------------------------------------------------------- /webserver/tcp/KTcpConnection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KTcpConnection.cpp -------------------------------------------------------------------------------- /webserver/tcp/KTcpConnection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KTcpConnection.h -------------------------------------------------------------------------------- /webserver/tcp/KTcpServer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KTcpServer.cpp -------------------------------------------------------------------------------- /webserver/tcp/KTcpServer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/tcp/KTcpServer.h -------------------------------------------------------------------------------- /webserver/thread/KThreadPool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/thread/KThreadPool.cpp -------------------------------------------------------------------------------- /webserver/thread/KThreadPool.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/thread/KThreadPool.h -------------------------------------------------------------------------------- /webserver/thread/test_kthreadpool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/thread/test_kthreadpool.cpp -------------------------------------------------------------------------------- /webserver/timer/KTimer.cpp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webserver/timer/KTimer.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webserver/utils/KCallbacks.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/utils/KCallbacks.h -------------------------------------------------------------------------------- /webserver/utils/KTimestamp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/utils/KTimestamp.cpp -------------------------------------------------------------------------------- /webserver/utils/KTimestamp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/utils/KTimestamp.h -------------------------------------------------------------------------------- /webserver/utils/KTypes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/utils/KTypes.h -------------------------------------------------------------------------------- /webserver/utils/Kcopyable.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/utils/Kcopyable.h -------------------------------------------------------------------------------- /webserver/utils/Knoncopyable.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/importcpp/WebServer/HEAD/webserver/utils/Knoncopyable.h --------------------------------------------------------------------------------