├── .gitattributes ├── .github └── workflows │ └── pipeline-ci.yml ├── .gitignore ├── .travis.yml ├── LICENSE ├── Makefile ├── README.md ├── docs ├── _config.yml ├── index.md ├── io_multiplexing_api.md ├── network_io_mode.md ├── socket_api.md └── tcpdump.md ├── src ├── base │ ├── concepts.h │ └── noncopyable.h └── net │ ├── ip_addr.cpp │ ├── ip_addr.h │ ├── poller_epoll.h │ ├── poller_poll.h │ ├── poller_select.h │ ├── poller_test.h │ ├── socket_utils.h │ ├── tcp_client.cpp │ ├── tcp_client.h │ ├── tcp_connection.cpp │ ├── tcp_connection.h │ ├── tcp_server.cpp │ ├── tcp_server.h │ ├── udp_connection.cpp │ └── udp_connection.h ├── tcpdump_demo ├── build.sh ├── client.cpp └── server.cpp └── test ├── test_epoll_connection.cpp ├── test_epoll_ping_pong.cpp ├── test_epoll_timer.cpp ├── test_poll_connection.cpp ├── test_poll_ping_pong.cpp ├── test_poll_timer.cpp ├── test_select_connection.cpp ├── test_select_ping_pong.cpp ├── test_select_timer.cpp ├── test_tcp_connection.cpp ├── test_tcp_fork.cpp ├── test_tcp_ping_pong.cpp └── test_udp_recv.cpp /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/workflows/pipeline-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/.github/workflows/pipeline-ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | build 3 | debug 4 | lib 5 | bin -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | dist: jammy 3 | script: 4 | - make -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/README.md -------------------------------------------------------------------------------- /docs/_config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/docs/_config.yml -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/io_multiplexing_api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/docs/io_multiplexing_api.md -------------------------------------------------------------------------------- /docs/network_io_mode.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/docs/network_io_mode.md -------------------------------------------------------------------------------- /docs/socket_api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/docs/socket_api.md -------------------------------------------------------------------------------- /docs/tcpdump.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/docs/tcpdump.md -------------------------------------------------------------------------------- /src/base/concepts.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/base/concepts.h -------------------------------------------------------------------------------- /src/base/noncopyable.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/base/noncopyable.h -------------------------------------------------------------------------------- /src/net/ip_addr.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/ip_addr.cpp -------------------------------------------------------------------------------- /src/net/ip_addr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/ip_addr.h -------------------------------------------------------------------------------- /src/net/poller_epoll.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/poller_epoll.h -------------------------------------------------------------------------------- /src/net/poller_poll.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/poller_poll.h -------------------------------------------------------------------------------- /src/net/poller_select.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/poller_select.h -------------------------------------------------------------------------------- /src/net/poller_test.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/poller_test.h -------------------------------------------------------------------------------- /src/net/socket_utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/socket_utils.h -------------------------------------------------------------------------------- /src/net/tcp_client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/tcp_client.cpp -------------------------------------------------------------------------------- /src/net/tcp_client.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/tcp_client.h -------------------------------------------------------------------------------- /src/net/tcp_connection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/tcp_connection.cpp -------------------------------------------------------------------------------- /src/net/tcp_connection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/tcp_connection.h -------------------------------------------------------------------------------- /src/net/tcp_server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/tcp_server.cpp -------------------------------------------------------------------------------- /src/net/tcp_server.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/tcp_server.h -------------------------------------------------------------------------------- /src/net/udp_connection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/udp_connection.cpp -------------------------------------------------------------------------------- /src/net/udp_connection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/src/net/udp_connection.h -------------------------------------------------------------------------------- /tcpdump_demo/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/tcpdump_demo/build.sh -------------------------------------------------------------------------------- /tcpdump_demo/client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/tcpdump_demo/client.cpp -------------------------------------------------------------------------------- /tcpdump_demo/server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/tcpdump_demo/server.cpp -------------------------------------------------------------------------------- /test/test_epoll_connection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/test/test_epoll_connection.cpp -------------------------------------------------------------------------------- /test/test_epoll_ping_pong.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/test/test_epoll_ping_pong.cpp -------------------------------------------------------------------------------- /test/test_epoll_timer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/test/test_epoll_timer.cpp -------------------------------------------------------------------------------- /test/test_poll_connection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/test/test_poll_connection.cpp -------------------------------------------------------------------------------- /test/test_poll_ping_pong.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/test/test_poll_ping_pong.cpp -------------------------------------------------------------------------------- /test/test_poll_timer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/test/test_poll_timer.cpp -------------------------------------------------------------------------------- /test/test_select_connection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/test/test_select_connection.cpp -------------------------------------------------------------------------------- /test/test_select_ping_pong.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/test/test_select_ping_pong.cpp -------------------------------------------------------------------------------- /test/test_select_timer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/test/test_select_timer.cpp -------------------------------------------------------------------------------- /test/test_tcp_connection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/test/test_tcp_connection.cpp -------------------------------------------------------------------------------- /test/test_tcp_fork.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/test/test_tcp_fork.cpp -------------------------------------------------------------------------------- /test/test_tcp_ping_pong.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/test/test_tcp_ping_pong.cpp -------------------------------------------------------------------------------- /test/test_udp_recv.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/downdemo/SNET/HEAD/test/test_udp_recv.cpp --------------------------------------------------------------------------------