├── .gitignore ├── AUTHORS ├── COPYING ├── ChangeLog ├── LICENSE ├── NEWS ├── README ├── README.md ├── auto ├── cc │ ├── acc │ ├── clang │ ├── conf │ ├── gcc │ ├── icc │ └── name ├── define ├── feature ├── have ├── have_headers ├── headers ├── include ├── init ├── install ├── linux ├── make ├── modules ├── nohave ├── options ├── os │ ├── conf │ └── linux ├── sources ├── summary └── types │ ├── sizeof │ ├── typedef │ ├── uintptr_t │ └── value ├── conf └── plugin.conf ├── configure ├── doc ├── Architecture.md ├── Beginners.md ├── Pre-Warming.md └── Usage.md ├── images ├── example1.png ├── example2.png ├── first.png ├── pre-warming1.png ├── pre-warming2.png ├── second.png ├── tcp_state_machine.png └── tcpcopy.png └── src ├── communication ├── tc_msg.h ├── tc_socket.c └── tc_socket.h ├── core ├── tc_alloc.c ├── tc_alloc.h ├── tc_array.c ├── tc_array.h ├── tc_conf_file.c ├── tc_conf_file.h ├── tc_config.h ├── tc_daemon.c ├── tc_hash.c ├── tc_hash.h ├── tc_link_list.c ├── tc_link_list.h ├── tc_log.c ├── tc_log.h ├── tc_palloc.c ├── tc_palloc.h ├── tc_rbtree.c ├── tc_rbtree.h ├── tc_signal.c ├── tc_signal.h ├── tc_time.c ├── tc_time.h └── xcopy.h ├── digest ├── tc_evp.c └── tc_evp.h ├── event ├── tc_epoll_module.c ├── tc_epoll_module.h ├── tc_event.c ├── tc_event.h ├── tc_event_timer.c ├── tc_event_timer.h ├── tc_select_module.c └── tc_select_module.h ├── tcpcopy ├── main.c ├── tc_manager.c ├── tc_manager.h ├── tc_message_module.c ├── tc_message_module.h ├── tc_packets_module.c ├── tc_packets_module.h ├── tc_session.c ├── tc_session.h ├── tc_udp_session.c ├── tc_udp_session.h └── tcpcopy.h └── util ├── tc_util.c └── tc_util.h /.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | cscope.* 3 | tags 4 | objs/* 5 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/AUTHORS -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/COPYING -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/ChangeLog -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/LICENSE -------------------------------------------------------------------------------- /NEWS: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/README -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/README.md -------------------------------------------------------------------------------- /auto/cc/acc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/cc/acc -------------------------------------------------------------------------------- /auto/cc/clang: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/cc/clang -------------------------------------------------------------------------------- /auto/cc/conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/cc/conf -------------------------------------------------------------------------------- /auto/cc/gcc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/cc/gcc -------------------------------------------------------------------------------- /auto/cc/icc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/cc/icc -------------------------------------------------------------------------------- /auto/cc/name: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/cc/name -------------------------------------------------------------------------------- /auto/define: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/define -------------------------------------------------------------------------------- /auto/feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/feature -------------------------------------------------------------------------------- /auto/have: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/have -------------------------------------------------------------------------------- /auto/have_headers: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/have_headers -------------------------------------------------------------------------------- /auto/headers: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/headers -------------------------------------------------------------------------------- /auto/include: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/include -------------------------------------------------------------------------------- /auto/init: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/init -------------------------------------------------------------------------------- /auto/install: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/install -------------------------------------------------------------------------------- /auto/linux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/linux -------------------------------------------------------------------------------- /auto/make: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/make -------------------------------------------------------------------------------- /auto/modules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/modules -------------------------------------------------------------------------------- /auto/nohave: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/nohave -------------------------------------------------------------------------------- /auto/options: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/options -------------------------------------------------------------------------------- /auto/os/conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/os/conf -------------------------------------------------------------------------------- /auto/os/linux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/os/linux -------------------------------------------------------------------------------- /auto/sources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/sources -------------------------------------------------------------------------------- /auto/summary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/summary -------------------------------------------------------------------------------- /auto/types/sizeof: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/types/sizeof -------------------------------------------------------------------------------- /auto/types/typedef: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/types/typedef -------------------------------------------------------------------------------- /auto/types/uintptr_t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/types/uintptr_t -------------------------------------------------------------------------------- /auto/types/value: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/auto/types/value -------------------------------------------------------------------------------- /conf/plugin.conf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /configure: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/configure -------------------------------------------------------------------------------- /doc/Architecture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/doc/Architecture.md -------------------------------------------------------------------------------- /doc/Beginners.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/doc/Beginners.md -------------------------------------------------------------------------------- /doc/Pre-Warming.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/doc/Pre-Warming.md -------------------------------------------------------------------------------- /doc/Usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/doc/Usage.md -------------------------------------------------------------------------------- /images/example1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/images/example1.png -------------------------------------------------------------------------------- /images/example2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/images/example2.png -------------------------------------------------------------------------------- /images/first.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/images/first.png -------------------------------------------------------------------------------- /images/pre-warming1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/images/pre-warming1.png -------------------------------------------------------------------------------- /images/pre-warming2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/images/pre-warming2.png -------------------------------------------------------------------------------- /images/second.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/images/second.png -------------------------------------------------------------------------------- /images/tcp_state_machine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/images/tcp_state_machine.png -------------------------------------------------------------------------------- /images/tcpcopy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/images/tcpcopy.png -------------------------------------------------------------------------------- /src/communication/tc_msg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/communication/tc_msg.h -------------------------------------------------------------------------------- /src/communication/tc_socket.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/communication/tc_socket.c -------------------------------------------------------------------------------- /src/communication/tc_socket.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/communication/tc_socket.h -------------------------------------------------------------------------------- /src/core/tc_alloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_alloc.c -------------------------------------------------------------------------------- /src/core/tc_alloc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_alloc.h -------------------------------------------------------------------------------- /src/core/tc_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_array.c -------------------------------------------------------------------------------- /src/core/tc_array.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_array.h -------------------------------------------------------------------------------- /src/core/tc_conf_file.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_conf_file.c -------------------------------------------------------------------------------- /src/core/tc_conf_file.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_conf_file.h -------------------------------------------------------------------------------- /src/core/tc_config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_config.h -------------------------------------------------------------------------------- /src/core/tc_daemon.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_daemon.c -------------------------------------------------------------------------------- /src/core/tc_hash.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_hash.c -------------------------------------------------------------------------------- /src/core/tc_hash.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_hash.h -------------------------------------------------------------------------------- /src/core/tc_link_list.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_link_list.c -------------------------------------------------------------------------------- /src/core/tc_link_list.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_link_list.h -------------------------------------------------------------------------------- /src/core/tc_log.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_log.c -------------------------------------------------------------------------------- /src/core/tc_log.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_log.h -------------------------------------------------------------------------------- /src/core/tc_palloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_palloc.c -------------------------------------------------------------------------------- /src/core/tc_palloc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_palloc.h -------------------------------------------------------------------------------- /src/core/tc_rbtree.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_rbtree.c -------------------------------------------------------------------------------- /src/core/tc_rbtree.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_rbtree.h -------------------------------------------------------------------------------- /src/core/tc_signal.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_signal.c -------------------------------------------------------------------------------- /src/core/tc_signal.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_signal.h -------------------------------------------------------------------------------- /src/core/tc_time.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_time.c -------------------------------------------------------------------------------- /src/core/tc_time.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/tc_time.h -------------------------------------------------------------------------------- /src/core/xcopy.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/core/xcopy.h -------------------------------------------------------------------------------- /src/digest/tc_evp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/digest/tc_evp.c -------------------------------------------------------------------------------- /src/digest/tc_evp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/digest/tc_evp.h -------------------------------------------------------------------------------- /src/event/tc_epoll_module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/event/tc_epoll_module.c -------------------------------------------------------------------------------- /src/event/tc_epoll_module.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/event/tc_epoll_module.h -------------------------------------------------------------------------------- /src/event/tc_event.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/event/tc_event.c -------------------------------------------------------------------------------- /src/event/tc_event.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/event/tc_event.h -------------------------------------------------------------------------------- /src/event/tc_event_timer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/event/tc_event_timer.c -------------------------------------------------------------------------------- /src/event/tc_event_timer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/event/tc_event_timer.h -------------------------------------------------------------------------------- /src/event/tc_select_module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/event/tc_select_module.c -------------------------------------------------------------------------------- /src/event/tc_select_module.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/event/tc_select_module.h -------------------------------------------------------------------------------- /src/tcpcopy/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/tcpcopy/main.c -------------------------------------------------------------------------------- /src/tcpcopy/tc_manager.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/tcpcopy/tc_manager.c -------------------------------------------------------------------------------- /src/tcpcopy/tc_manager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/tcpcopy/tc_manager.h -------------------------------------------------------------------------------- /src/tcpcopy/tc_message_module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/tcpcopy/tc_message_module.c -------------------------------------------------------------------------------- /src/tcpcopy/tc_message_module.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/tcpcopy/tc_message_module.h -------------------------------------------------------------------------------- /src/tcpcopy/tc_packets_module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/tcpcopy/tc_packets_module.c -------------------------------------------------------------------------------- /src/tcpcopy/tc_packets_module.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/tcpcopy/tc_packets_module.h -------------------------------------------------------------------------------- /src/tcpcopy/tc_session.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/tcpcopy/tc_session.c -------------------------------------------------------------------------------- /src/tcpcopy/tc_session.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/tcpcopy/tc_session.h -------------------------------------------------------------------------------- /src/tcpcopy/tc_udp_session.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/tcpcopy/tc_udp_session.c -------------------------------------------------------------------------------- /src/tcpcopy/tc_udp_session.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/tcpcopy/tc_udp_session.h -------------------------------------------------------------------------------- /src/tcpcopy/tcpcopy.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/tcpcopy/tcpcopy.h -------------------------------------------------------------------------------- /src/util/tc_util.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/util/tc_util.c -------------------------------------------------------------------------------- /src/util/tc_util.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangbin579/tcpcopy/HEAD/src/util/tc_util.h --------------------------------------------------------------------------------