├── .gitignore ├── CMakeLists.txt ├── LICENSE.txt ├── README.md ├── example ├── CMakeLists.txt ├── procmon.cpp ├── rpc │ ├── CMakeLists.txt │ ├── args.proto │ ├── echo.proto │ ├── rpc_client.cpp │ └── rpc_server.cpp ├── sudoku.cpp ├── sudoku_batch_test.cpp ├── sudoku_pipeline_test.cpp ├── test1 ├── test1000 └── ttcp.cpp ├── pic ├── 协程_类图.png ├── 协程调度_示意图.png ├── 协程调度_类图.png ├── 定时器.png ├── 日志_情况1.png ├── 日志_情况2.png └── 日志_结构图.png ├── src ├── Address.cpp ├── Address.h ├── Buffer.cpp ├── Buffer.h ├── CMakeLists.txt ├── Condition.cpp ├── Condition.h ├── Coroutine.cpp ├── Coroutine.h ├── CountDownLatch.cpp ├── CountDownLatch.h ├── Hook.cpp ├── Hook.h ├── Log.cpp ├── Log.h ├── LogFile.cpp ├── LogFile.h ├── Mutex.cpp ├── Mutex.h ├── Noncopyable.h ├── Poller.cpp ├── Poller.h ├── Processer.cpp ├── Processer.h ├── ProcesserThread.cpp ├── ProcesserThread.h ├── Scheduler.cpp ├── Scheduler.h ├── Singleton.h ├── Socket.cpp ├── Socket.h ├── TcpClient.cpp ├── TcpClient.h ├── TcpConnection.cpp ├── TcpConnection.h ├── TcpServer.cpp ├── TcpServer.h ├── Thread.cpp ├── Thread.h ├── TimerManager.cpp ├── TimerManager.h ├── Timestamp.cpp ├── Timestamp.h ├── http │ ├── Http.cpp │ ├── Http.h │ ├── HttpConnection.cpp │ ├── HttpConnection.h │ ├── HttpParser.cpp │ ├── HttpParser.h │ ├── picohttpparser.c │ └── picohttpparser.h └── rpc │ ├── Codec.cpp │ ├── Codec.h │ ├── RpcClient.h │ ├── RpcServer.cpp │ └── RpcServer.h └── test ├── AsyncFileAppender_test.cpp ├── CMakeLists.txt ├── Condition_test.cpp ├── CoroutineCondition_test.cpp ├── Coroutine_test.cpp ├── Hook_test.cpp ├── HttpParser_test.cpp ├── HttpRequestResponse_test.cpp ├── HttpServer_test.cpp ├── LogFile_test.cpp ├── Log_test.cpp ├── Scheduler_test.cpp ├── TcpClient_test.cpp ├── TcpServer_test.cpp ├── Thread_test.cpp └── Timer_test.cpp /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/README.md -------------------------------------------------------------------------------- /example/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/example/CMakeLists.txt -------------------------------------------------------------------------------- /example/procmon.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/example/procmon.cpp -------------------------------------------------------------------------------- /example/rpc/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/example/rpc/CMakeLists.txt -------------------------------------------------------------------------------- /example/rpc/args.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/example/rpc/args.proto -------------------------------------------------------------------------------- /example/rpc/echo.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/example/rpc/echo.proto -------------------------------------------------------------------------------- /example/rpc/rpc_client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/example/rpc/rpc_client.cpp -------------------------------------------------------------------------------- /example/rpc/rpc_server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/example/rpc/rpc_server.cpp -------------------------------------------------------------------------------- /example/sudoku.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/example/sudoku.cpp -------------------------------------------------------------------------------- /example/sudoku_batch_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/example/sudoku_batch_test.cpp -------------------------------------------------------------------------------- /example/sudoku_pipeline_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/example/sudoku_pipeline_test.cpp -------------------------------------------------------------------------------- /example/test1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/example/test1 -------------------------------------------------------------------------------- /example/test1000: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/example/test1000 -------------------------------------------------------------------------------- /example/ttcp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/example/ttcp.cpp -------------------------------------------------------------------------------- /pic/协程_类图.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/pic/协程_类图.png -------------------------------------------------------------------------------- /pic/协程调度_示意图.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/pic/协程调度_示意图.png -------------------------------------------------------------------------------- /pic/协程调度_类图.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/pic/协程调度_类图.png -------------------------------------------------------------------------------- /pic/定时器.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/pic/定时器.png -------------------------------------------------------------------------------- /pic/日志_情况1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/pic/日志_情况1.png -------------------------------------------------------------------------------- /pic/日志_情况2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/pic/日志_情况2.png -------------------------------------------------------------------------------- /pic/日志_结构图.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/pic/日志_结构图.png -------------------------------------------------------------------------------- /src/Address.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Address.cpp -------------------------------------------------------------------------------- /src/Address.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Address.h -------------------------------------------------------------------------------- /src/Buffer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Buffer.cpp -------------------------------------------------------------------------------- /src/Buffer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Buffer.h -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/CMakeLists.txt -------------------------------------------------------------------------------- /src/Condition.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Condition.cpp -------------------------------------------------------------------------------- /src/Condition.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Condition.h -------------------------------------------------------------------------------- /src/Coroutine.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Coroutine.cpp -------------------------------------------------------------------------------- /src/Coroutine.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Coroutine.h -------------------------------------------------------------------------------- /src/CountDownLatch.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/CountDownLatch.cpp -------------------------------------------------------------------------------- /src/CountDownLatch.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/CountDownLatch.h -------------------------------------------------------------------------------- /src/Hook.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Hook.cpp -------------------------------------------------------------------------------- /src/Hook.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Hook.h -------------------------------------------------------------------------------- /src/Log.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Log.cpp -------------------------------------------------------------------------------- /src/Log.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Log.h -------------------------------------------------------------------------------- /src/LogFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/LogFile.cpp -------------------------------------------------------------------------------- /src/LogFile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/LogFile.h -------------------------------------------------------------------------------- /src/Mutex.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Mutex.cpp -------------------------------------------------------------------------------- /src/Mutex.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Mutex.h -------------------------------------------------------------------------------- /src/Noncopyable.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Noncopyable.h -------------------------------------------------------------------------------- /src/Poller.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Poller.cpp -------------------------------------------------------------------------------- /src/Poller.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Poller.h -------------------------------------------------------------------------------- /src/Processer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Processer.cpp -------------------------------------------------------------------------------- /src/Processer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Processer.h -------------------------------------------------------------------------------- /src/ProcesserThread.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/ProcesserThread.cpp -------------------------------------------------------------------------------- /src/ProcesserThread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/ProcesserThread.h -------------------------------------------------------------------------------- /src/Scheduler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Scheduler.cpp -------------------------------------------------------------------------------- /src/Scheduler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Scheduler.h -------------------------------------------------------------------------------- /src/Singleton.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Singleton.h -------------------------------------------------------------------------------- /src/Socket.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Socket.cpp -------------------------------------------------------------------------------- /src/Socket.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Socket.h -------------------------------------------------------------------------------- /src/TcpClient.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/TcpClient.cpp -------------------------------------------------------------------------------- /src/TcpClient.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/TcpClient.h -------------------------------------------------------------------------------- /src/TcpConnection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/TcpConnection.cpp -------------------------------------------------------------------------------- /src/TcpConnection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/TcpConnection.h -------------------------------------------------------------------------------- /src/TcpServer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/TcpServer.cpp -------------------------------------------------------------------------------- /src/TcpServer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/TcpServer.h -------------------------------------------------------------------------------- /src/Thread.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Thread.cpp -------------------------------------------------------------------------------- /src/Thread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Thread.h -------------------------------------------------------------------------------- /src/TimerManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/TimerManager.cpp -------------------------------------------------------------------------------- /src/TimerManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/TimerManager.h -------------------------------------------------------------------------------- /src/Timestamp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Timestamp.cpp -------------------------------------------------------------------------------- /src/Timestamp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/Timestamp.h -------------------------------------------------------------------------------- /src/http/Http.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/http/Http.cpp -------------------------------------------------------------------------------- /src/http/Http.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/http/Http.h -------------------------------------------------------------------------------- /src/http/HttpConnection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/http/HttpConnection.cpp -------------------------------------------------------------------------------- /src/http/HttpConnection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/http/HttpConnection.h -------------------------------------------------------------------------------- /src/http/HttpParser.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/http/HttpParser.cpp -------------------------------------------------------------------------------- /src/http/HttpParser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/http/HttpParser.h -------------------------------------------------------------------------------- /src/http/picohttpparser.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/http/picohttpparser.c -------------------------------------------------------------------------------- /src/http/picohttpparser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/http/picohttpparser.h -------------------------------------------------------------------------------- /src/rpc/Codec.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/rpc/Codec.cpp -------------------------------------------------------------------------------- /src/rpc/Codec.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/rpc/Codec.h -------------------------------------------------------------------------------- /src/rpc/RpcClient.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/rpc/RpcClient.h -------------------------------------------------------------------------------- /src/rpc/RpcServer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/rpc/RpcServer.cpp -------------------------------------------------------------------------------- /src/rpc/RpcServer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/src/rpc/RpcServer.h -------------------------------------------------------------------------------- /test/AsyncFileAppender_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/AsyncFileAppender_test.cpp -------------------------------------------------------------------------------- /test/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/CMakeLists.txt -------------------------------------------------------------------------------- /test/Condition_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/Condition_test.cpp -------------------------------------------------------------------------------- /test/CoroutineCondition_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/CoroutineCondition_test.cpp -------------------------------------------------------------------------------- /test/Coroutine_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/Coroutine_test.cpp -------------------------------------------------------------------------------- /test/Hook_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/Hook_test.cpp -------------------------------------------------------------------------------- /test/HttpParser_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/HttpParser_test.cpp -------------------------------------------------------------------------------- /test/HttpRequestResponse_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/HttpRequestResponse_test.cpp -------------------------------------------------------------------------------- /test/HttpServer_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/HttpServer_test.cpp -------------------------------------------------------------------------------- /test/LogFile_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/LogFile_test.cpp -------------------------------------------------------------------------------- /test/Log_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/Log_test.cpp -------------------------------------------------------------------------------- /test/Scheduler_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/Scheduler_test.cpp -------------------------------------------------------------------------------- /test/TcpClient_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/TcpClient_test.cpp -------------------------------------------------------------------------------- /test/TcpServer_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/TcpServer_test.cpp -------------------------------------------------------------------------------- /test/Thread_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/Thread_test.cpp -------------------------------------------------------------------------------- /test/Timer_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gatsbyd/melon/HEAD/test/Timer_test.cpp --------------------------------------------------------------------------------