├── .clang-tidy ├── .gitignore ├── .travis.yml ├── CMakeLists.txt ├── Cppnet.sln ├── Cppnet.vcxproj ├── Cppnet.vcxproj.filters ├── LICENSE ├── README.md ├── README_cn.md ├── TODO.md ├── common ├── CMakeLists.txt ├── alloter │ ├── alloter_interface.h │ ├── normal_alloter.cpp │ ├── normal_alloter.h │ ├── pool_alloter.cpp │ ├── pool_alloter.h │ ├── pool_block.cpp │ └── pool_block.h ├── buffer │ ├── buffer_block.cpp │ ├── buffer_block.h │ ├── buffer_interface.h │ ├── buffer_queue.cpp │ └── buffer_queue.h ├── log │ ├── base_logger.cpp │ ├── base_logger.h │ ├── file_logger.cpp │ ├── file_logger.h │ ├── log.cpp │ ├── log.h │ ├── log_stream.cpp │ ├── log_stream.h │ ├── logger_interface.h │ ├── stdout_logger.cpp │ └── stdout_logger.h ├── network │ ├── address.cpp │ ├── address.h │ ├── io_handle.h │ ├── posix │ │ ├── io_handle.cpp │ │ └── socket.cpp │ ├── socket.h │ └── win │ │ ├── io_handle.cpp │ │ └── socket.cpp ├── os │ ├── convert.h │ ├── os_info.cpp │ ├── os_info.h │ ├── posix │ │ └── convert.cpp │ └── win │ │ └── convert.cpp ├── structure │ ├── list.h │ ├── list_slot.h │ ├── thread_safe_block_queue.h │ ├── thread_safe_queue.h │ └── thread_safe_unordered_map.h ├── thread │ ├── thread.h │ └── thread_with_queue.h ├── timer │ ├── timer.cpp │ ├── timer.h │ ├── timer_container.cpp │ ├── timer_container.h │ ├── timer_interface.h │ ├── timer_slot.cpp │ └── timer_slot.h └── util │ ├── any.h │ ├── bitmap.cpp │ ├── bitmap.h │ ├── config.cpp │ ├── config.h │ ├── os_return.h │ ├── random.cpp │ ├── random.h │ ├── singleton.h │ ├── time.cpp │ └── time.h ├── cppnet ├── CMakeLists.txt ├── cppnet.cpp ├── cppnet_base.cpp ├── cppnet_base.h ├── cppnet_config.h ├── dispatcher.cpp ├── dispatcher.h ├── event │ ├── action_interface.h │ ├── epoll │ │ ├── epoll_action.cpp │ │ ├── epoll_action.h │ │ └── wepoll │ │ │ ├── README.md │ │ │ ├── wepoll.c │ │ │ └── wepoll.h │ ├── event_interface.cpp │ ├── event_interface.h │ ├── kqueue │ │ ├── kqueue_action.cpp │ │ └── kqueue_action.h │ ├── timer_event.cpp │ └── timer_event.h └── socket │ ├── connect_socket.cpp │ ├── connect_socket.h │ ├── rw_socket.cpp │ ├── rw_socket.h │ ├── socket_interface.cpp │ └── socket_interface.h ├── doc ├── api │ ├── api.md │ └── api_cn.md ├── build │ ├── build.md │ └── build_cn.md ├── efficiency │ ├── apache_ab_bench.md │ └── apache_ab_bench_cn.md ├── image │ ├── cppnet_level.png │ ├── linux_apache_ab_bench.png │ ├── logo.png │ ├── macos_apache_ab_bench.png │ └── windows_apache_ab_bench.png ├── introduction │ └── cppnet.md └── start │ ├── quick_start.md │ └── quick_start_cn.md ├── include ├── cppnet.h ├── cppnet_buffer.h ├── cppnet_socket.h └── cppnet_type.h ├── makefile └── test ├── CMakeLists.txt ├── echo ├── CMakeLists.txt ├── echo_client.cpp ├── echo_client.vcxproj ├── echo_server.cpp ├── echo_server.vcxproj └── makefile ├── http ├── CMakeLists.txt ├── http.vcxproj ├── http.vcxproj.user ├── http_context.cpp ├── http_context.h ├── http_request.h ├── http_response.cpp ├── http_response.h ├── http_server.cpp ├── http_server.h ├── http_server_test.cpp └── makefile ├── multi_port ├── CMakeLists.txt ├── makefile ├── multi_port_client.cpp ├── multi_port_client.filters ├── multi_port_client.vcxproj ├── multi_port_server.cpp ├── multi_port_server.filters └── multi_port_server.vcxproj ├── pingpong ├── CMakeLists.txt ├── client.cpp ├── client.vcxproj ├── client.vcxproj.filters ├── makefile ├── server.cpp ├── server.vcxproj └── server.vcxproj.filters ├── rpc ├── CMakeLists.txt ├── client.cpp ├── common_struct.h ├── func_thread.cpp ├── func_thread.h ├── info_router.cpp ├── info_router.h ├── makefile ├── parse_package.cpp ├── parse_package.h ├── rpc_client.cpp ├── rpc_client.h ├── rpc_client.vcxproj ├── rpc_client.vcxproj.filters ├── rpc_server.cpp ├── rpc_server.h ├── rpc_server.vcxproj ├── rpc_server.vcxproj.filters └── server.cpp ├── sendfile ├── CMakeLists.txt ├── common.h ├── makefile ├── md5.cpp ├── md5.h ├── send_file_cli.vcxproj.vcxproj ├── send_file_client.cpp ├── send_file_ser.vcxproj.vcxproj └── send_file_server.cpp └── simple ├── CMakeLists.txt ├── client.filters ├── client.vcxproj ├── cppnet_client.cpp ├── cppnet_server.cpp ├── makefile ├── server.vcxproj └── server.vcxproj.filters /.clang-tidy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/.clang-tidy -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/.travis.yml -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /Cppnet.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/Cppnet.sln -------------------------------------------------------------------------------- /Cppnet.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/Cppnet.vcxproj -------------------------------------------------------------------------------- /Cppnet.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/Cppnet.vcxproj.filters -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/README.md -------------------------------------------------------------------------------- /README_cn.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/README_cn.md -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/TODO.md -------------------------------------------------------------------------------- /common/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/CMakeLists.txt -------------------------------------------------------------------------------- /common/alloter/alloter_interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/alloter/alloter_interface.h -------------------------------------------------------------------------------- /common/alloter/normal_alloter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/alloter/normal_alloter.cpp -------------------------------------------------------------------------------- /common/alloter/normal_alloter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/alloter/normal_alloter.h -------------------------------------------------------------------------------- /common/alloter/pool_alloter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/alloter/pool_alloter.cpp -------------------------------------------------------------------------------- /common/alloter/pool_alloter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/alloter/pool_alloter.h -------------------------------------------------------------------------------- /common/alloter/pool_block.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/alloter/pool_block.cpp -------------------------------------------------------------------------------- /common/alloter/pool_block.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/alloter/pool_block.h -------------------------------------------------------------------------------- /common/buffer/buffer_block.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/buffer/buffer_block.cpp -------------------------------------------------------------------------------- /common/buffer/buffer_block.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/buffer/buffer_block.h -------------------------------------------------------------------------------- /common/buffer/buffer_interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/buffer/buffer_interface.h -------------------------------------------------------------------------------- /common/buffer/buffer_queue.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/buffer/buffer_queue.cpp -------------------------------------------------------------------------------- /common/buffer/buffer_queue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/buffer/buffer_queue.h -------------------------------------------------------------------------------- /common/log/base_logger.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/log/base_logger.cpp -------------------------------------------------------------------------------- /common/log/base_logger.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/log/base_logger.h -------------------------------------------------------------------------------- /common/log/file_logger.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/log/file_logger.cpp -------------------------------------------------------------------------------- /common/log/file_logger.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/log/file_logger.h -------------------------------------------------------------------------------- /common/log/log.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/log/log.cpp -------------------------------------------------------------------------------- /common/log/log.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/log/log.h -------------------------------------------------------------------------------- /common/log/log_stream.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/log/log_stream.cpp -------------------------------------------------------------------------------- /common/log/log_stream.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/log/log_stream.h -------------------------------------------------------------------------------- /common/log/logger_interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/log/logger_interface.h -------------------------------------------------------------------------------- /common/log/stdout_logger.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/log/stdout_logger.cpp -------------------------------------------------------------------------------- /common/log/stdout_logger.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/log/stdout_logger.h -------------------------------------------------------------------------------- /common/network/address.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/network/address.cpp -------------------------------------------------------------------------------- /common/network/address.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/network/address.h -------------------------------------------------------------------------------- /common/network/io_handle.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/network/io_handle.h -------------------------------------------------------------------------------- /common/network/posix/io_handle.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/network/posix/io_handle.cpp -------------------------------------------------------------------------------- /common/network/posix/socket.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/network/posix/socket.cpp -------------------------------------------------------------------------------- /common/network/socket.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/network/socket.h -------------------------------------------------------------------------------- /common/network/win/io_handle.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/network/win/io_handle.cpp -------------------------------------------------------------------------------- /common/network/win/socket.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/network/win/socket.cpp -------------------------------------------------------------------------------- /common/os/convert.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/os/convert.h -------------------------------------------------------------------------------- /common/os/os_info.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/os/os_info.cpp -------------------------------------------------------------------------------- /common/os/os_info.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/os/os_info.h -------------------------------------------------------------------------------- /common/os/posix/convert.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/os/posix/convert.cpp -------------------------------------------------------------------------------- /common/os/win/convert.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/os/win/convert.cpp -------------------------------------------------------------------------------- /common/structure/list.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/structure/list.h -------------------------------------------------------------------------------- /common/structure/list_slot.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/structure/list_slot.h -------------------------------------------------------------------------------- /common/structure/thread_safe_block_queue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/structure/thread_safe_block_queue.h -------------------------------------------------------------------------------- /common/structure/thread_safe_queue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/structure/thread_safe_queue.h -------------------------------------------------------------------------------- /common/structure/thread_safe_unordered_map.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/structure/thread_safe_unordered_map.h -------------------------------------------------------------------------------- /common/thread/thread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/thread/thread.h -------------------------------------------------------------------------------- /common/thread/thread_with_queue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/thread/thread_with_queue.h -------------------------------------------------------------------------------- /common/timer/timer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/timer/timer.cpp -------------------------------------------------------------------------------- /common/timer/timer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/timer/timer.h -------------------------------------------------------------------------------- /common/timer/timer_container.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/timer/timer_container.cpp -------------------------------------------------------------------------------- /common/timer/timer_container.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/timer/timer_container.h -------------------------------------------------------------------------------- /common/timer/timer_interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/timer/timer_interface.h -------------------------------------------------------------------------------- /common/timer/timer_slot.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/timer/timer_slot.cpp -------------------------------------------------------------------------------- /common/timer/timer_slot.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/timer/timer_slot.h -------------------------------------------------------------------------------- /common/util/any.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/util/any.h -------------------------------------------------------------------------------- /common/util/bitmap.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/util/bitmap.cpp -------------------------------------------------------------------------------- /common/util/bitmap.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/util/bitmap.h -------------------------------------------------------------------------------- /common/util/config.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/util/config.cpp -------------------------------------------------------------------------------- /common/util/config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/util/config.h -------------------------------------------------------------------------------- /common/util/os_return.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/util/os_return.h -------------------------------------------------------------------------------- /common/util/random.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/util/random.cpp -------------------------------------------------------------------------------- /common/util/random.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/util/random.h -------------------------------------------------------------------------------- /common/util/singleton.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/util/singleton.h -------------------------------------------------------------------------------- /common/util/time.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/util/time.cpp -------------------------------------------------------------------------------- /common/util/time.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/common/util/time.h -------------------------------------------------------------------------------- /cppnet/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/CMakeLists.txt -------------------------------------------------------------------------------- /cppnet/cppnet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/cppnet.cpp -------------------------------------------------------------------------------- /cppnet/cppnet_base.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/cppnet_base.cpp -------------------------------------------------------------------------------- /cppnet/cppnet_base.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/cppnet_base.h -------------------------------------------------------------------------------- /cppnet/cppnet_config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/cppnet_config.h -------------------------------------------------------------------------------- /cppnet/dispatcher.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/dispatcher.cpp -------------------------------------------------------------------------------- /cppnet/dispatcher.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/dispatcher.h -------------------------------------------------------------------------------- /cppnet/event/action_interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/event/action_interface.h -------------------------------------------------------------------------------- /cppnet/event/epoll/epoll_action.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/event/epoll/epoll_action.cpp -------------------------------------------------------------------------------- /cppnet/event/epoll/epoll_action.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/event/epoll/epoll_action.h -------------------------------------------------------------------------------- /cppnet/event/epoll/wepoll/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/event/epoll/wepoll/README.md -------------------------------------------------------------------------------- /cppnet/event/epoll/wepoll/wepoll.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/event/epoll/wepoll/wepoll.c -------------------------------------------------------------------------------- /cppnet/event/epoll/wepoll/wepoll.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/event/epoll/wepoll/wepoll.h -------------------------------------------------------------------------------- /cppnet/event/event_interface.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/event/event_interface.cpp -------------------------------------------------------------------------------- /cppnet/event/event_interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/event/event_interface.h -------------------------------------------------------------------------------- /cppnet/event/kqueue/kqueue_action.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/event/kqueue/kqueue_action.cpp -------------------------------------------------------------------------------- /cppnet/event/kqueue/kqueue_action.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/event/kqueue/kqueue_action.h -------------------------------------------------------------------------------- /cppnet/event/timer_event.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/event/timer_event.cpp -------------------------------------------------------------------------------- /cppnet/event/timer_event.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/event/timer_event.h -------------------------------------------------------------------------------- /cppnet/socket/connect_socket.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/socket/connect_socket.cpp -------------------------------------------------------------------------------- /cppnet/socket/connect_socket.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/socket/connect_socket.h -------------------------------------------------------------------------------- /cppnet/socket/rw_socket.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/socket/rw_socket.cpp -------------------------------------------------------------------------------- /cppnet/socket/rw_socket.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/socket/rw_socket.h -------------------------------------------------------------------------------- /cppnet/socket/socket_interface.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/socket/socket_interface.cpp -------------------------------------------------------------------------------- /cppnet/socket/socket_interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/cppnet/socket/socket_interface.h -------------------------------------------------------------------------------- /doc/api/api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/doc/api/api.md -------------------------------------------------------------------------------- /doc/api/api_cn.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/doc/api/api_cn.md -------------------------------------------------------------------------------- /doc/build/build.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/doc/build/build.md -------------------------------------------------------------------------------- /doc/build/build_cn.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/doc/build/build_cn.md -------------------------------------------------------------------------------- /doc/efficiency/apache_ab_bench.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/doc/efficiency/apache_ab_bench.md -------------------------------------------------------------------------------- /doc/efficiency/apache_ab_bench_cn.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/doc/efficiency/apache_ab_bench_cn.md -------------------------------------------------------------------------------- /doc/image/cppnet_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/doc/image/cppnet_level.png -------------------------------------------------------------------------------- /doc/image/linux_apache_ab_bench.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/doc/image/linux_apache_ab_bench.png -------------------------------------------------------------------------------- /doc/image/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/doc/image/logo.png -------------------------------------------------------------------------------- /doc/image/macos_apache_ab_bench.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/doc/image/macos_apache_ab_bench.png -------------------------------------------------------------------------------- /doc/image/windows_apache_ab_bench.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/doc/image/windows_apache_ab_bench.png -------------------------------------------------------------------------------- /doc/introduction/cppnet.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/doc/introduction/cppnet.md -------------------------------------------------------------------------------- /doc/start/quick_start.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/doc/start/quick_start.md -------------------------------------------------------------------------------- /doc/start/quick_start_cn.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/doc/start/quick_start_cn.md -------------------------------------------------------------------------------- /include/cppnet.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/include/cppnet.h -------------------------------------------------------------------------------- /include/cppnet_buffer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/include/cppnet_buffer.h -------------------------------------------------------------------------------- /include/cppnet_socket.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/include/cppnet_socket.h -------------------------------------------------------------------------------- /include/cppnet_type.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/include/cppnet_type.h -------------------------------------------------------------------------------- /makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/makefile -------------------------------------------------------------------------------- /test/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/CMakeLists.txt -------------------------------------------------------------------------------- /test/echo/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/echo/CMakeLists.txt -------------------------------------------------------------------------------- /test/echo/echo_client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/echo/echo_client.cpp -------------------------------------------------------------------------------- /test/echo/echo_client.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/echo/echo_client.vcxproj -------------------------------------------------------------------------------- /test/echo/echo_server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/echo/echo_server.cpp -------------------------------------------------------------------------------- /test/echo/echo_server.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/echo/echo_server.vcxproj -------------------------------------------------------------------------------- /test/echo/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/echo/makefile -------------------------------------------------------------------------------- /test/http/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/http/CMakeLists.txt -------------------------------------------------------------------------------- /test/http/http.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/http/http.vcxproj -------------------------------------------------------------------------------- /test/http/http.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/http/http.vcxproj.user -------------------------------------------------------------------------------- /test/http/http_context.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/http/http_context.cpp -------------------------------------------------------------------------------- /test/http/http_context.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/http/http_context.h -------------------------------------------------------------------------------- /test/http/http_request.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/http/http_request.h -------------------------------------------------------------------------------- /test/http/http_response.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/http/http_response.cpp -------------------------------------------------------------------------------- /test/http/http_response.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/http/http_response.h -------------------------------------------------------------------------------- /test/http/http_server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/http/http_server.cpp -------------------------------------------------------------------------------- /test/http/http_server.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/http/http_server.h -------------------------------------------------------------------------------- /test/http/http_server_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/http/http_server_test.cpp -------------------------------------------------------------------------------- /test/http/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/http/makefile -------------------------------------------------------------------------------- /test/multi_port/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/multi_port/CMakeLists.txt -------------------------------------------------------------------------------- /test/multi_port/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/multi_port/makefile -------------------------------------------------------------------------------- /test/multi_port/multi_port_client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/multi_port/multi_port_client.cpp -------------------------------------------------------------------------------- /test/multi_port/multi_port_client.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/multi_port/multi_port_client.filters -------------------------------------------------------------------------------- /test/multi_port/multi_port_client.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/multi_port/multi_port_client.vcxproj -------------------------------------------------------------------------------- /test/multi_port/multi_port_server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/multi_port/multi_port_server.cpp -------------------------------------------------------------------------------- /test/multi_port/multi_port_server.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/multi_port/multi_port_server.filters -------------------------------------------------------------------------------- /test/multi_port/multi_port_server.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/multi_port/multi_port_server.vcxproj -------------------------------------------------------------------------------- /test/pingpong/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/pingpong/CMakeLists.txt -------------------------------------------------------------------------------- /test/pingpong/client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/pingpong/client.cpp -------------------------------------------------------------------------------- /test/pingpong/client.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/pingpong/client.vcxproj -------------------------------------------------------------------------------- /test/pingpong/client.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/pingpong/client.vcxproj.filters -------------------------------------------------------------------------------- /test/pingpong/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/pingpong/makefile -------------------------------------------------------------------------------- /test/pingpong/server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/pingpong/server.cpp -------------------------------------------------------------------------------- /test/pingpong/server.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/pingpong/server.vcxproj -------------------------------------------------------------------------------- /test/pingpong/server.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/pingpong/server.vcxproj.filters -------------------------------------------------------------------------------- /test/rpc/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/CMakeLists.txt -------------------------------------------------------------------------------- /test/rpc/client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/client.cpp -------------------------------------------------------------------------------- /test/rpc/common_struct.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/common_struct.h -------------------------------------------------------------------------------- /test/rpc/func_thread.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/func_thread.cpp -------------------------------------------------------------------------------- /test/rpc/func_thread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/func_thread.h -------------------------------------------------------------------------------- /test/rpc/info_router.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/info_router.cpp -------------------------------------------------------------------------------- /test/rpc/info_router.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/info_router.h -------------------------------------------------------------------------------- /test/rpc/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/makefile -------------------------------------------------------------------------------- /test/rpc/parse_package.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/parse_package.cpp -------------------------------------------------------------------------------- /test/rpc/parse_package.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/parse_package.h -------------------------------------------------------------------------------- /test/rpc/rpc_client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/rpc_client.cpp -------------------------------------------------------------------------------- /test/rpc/rpc_client.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/rpc_client.h -------------------------------------------------------------------------------- /test/rpc/rpc_client.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/rpc_client.vcxproj -------------------------------------------------------------------------------- /test/rpc/rpc_client.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/rpc_client.vcxproj.filters -------------------------------------------------------------------------------- /test/rpc/rpc_server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/rpc_server.cpp -------------------------------------------------------------------------------- /test/rpc/rpc_server.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/rpc_server.h -------------------------------------------------------------------------------- /test/rpc/rpc_server.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/rpc_server.vcxproj -------------------------------------------------------------------------------- /test/rpc/rpc_server.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/rpc_server.vcxproj.filters -------------------------------------------------------------------------------- /test/rpc/server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/rpc/server.cpp -------------------------------------------------------------------------------- /test/sendfile/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/sendfile/CMakeLists.txt -------------------------------------------------------------------------------- /test/sendfile/common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/sendfile/common.h -------------------------------------------------------------------------------- /test/sendfile/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/sendfile/makefile -------------------------------------------------------------------------------- /test/sendfile/md5.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/sendfile/md5.cpp -------------------------------------------------------------------------------- /test/sendfile/md5.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/sendfile/md5.h -------------------------------------------------------------------------------- /test/sendfile/send_file_cli.vcxproj.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/sendfile/send_file_cli.vcxproj.vcxproj -------------------------------------------------------------------------------- /test/sendfile/send_file_client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/sendfile/send_file_client.cpp -------------------------------------------------------------------------------- /test/sendfile/send_file_ser.vcxproj.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/sendfile/send_file_ser.vcxproj.vcxproj -------------------------------------------------------------------------------- /test/sendfile/send_file_server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/sendfile/send_file_server.cpp -------------------------------------------------------------------------------- /test/simple/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/simple/CMakeLists.txt -------------------------------------------------------------------------------- /test/simple/client.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/simple/client.filters -------------------------------------------------------------------------------- /test/simple/client.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/simple/client.vcxproj -------------------------------------------------------------------------------- /test/simple/cppnet_client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/simple/cppnet_client.cpp -------------------------------------------------------------------------------- /test/simple/cppnet_server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/simple/cppnet_server.cpp -------------------------------------------------------------------------------- /test/simple/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/simple/makefile -------------------------------------------------------------------------------- /test/simple/server.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/simple/server.vcxproj -------------------------------------------------------------------------------- /test/simple/server.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caozhiyi/CppNet/HEAD/test/simple/server.vcxproj.filters --------------------------------------------------------------------------------