├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── README_ZH.md ├── cert ├── gen_key └── meson.build ├── evaluation.txt ├── example ├── Makefile ├── asymmetric.c ├── channel.c ├── coropool.c ├── epoll.c ├── meson.build ├── multithread.c ├── network.c ├── pubsub.c ├── semaphore.c ├── setstack.c ├── signal.c ├── sleep.c ├── socket_client.c ├── socket_server.c ├── ssl_client.c ├── ssl_server.c ├── stack_dont_overflow.c ├── stop_abort.c └── waitgroup.c ├── history.md ├── img ├── arch.png └── dyco.png ├── include └── dyco │ ├── dyco_coroutine.h │ ├── dyco_htable.h │ ├── dyco_ucontext.h │ ├── sys_queue.h │ ├── sys_tree.h │ ├── uctx_386.h │ ├── uctx_amd64.h │ ├── uctx_mips.h │ └── uctx_power.h ├── meson.build ├── src ├── Makefile ├── dyco_asymcoro.c ├── dyco_channel.c ├── dyco_coropool.c ├── dyco_coroutine.c ├── dyco_epoll.c ├── dyco_hook.c ├── dyco_pubsub.c ├── dyco_schedcall.c ├── dyco_schedule.c ├── dyco_semaphore.c ├── dyco_signal.c ├── dyco_socket.c ├── dyco_ssl.c ├── dyco_waitgroup.c ├── uctx_asm.S └── uctx_context.c └── switchtest ├── switch_dyco.c ├── switch_libco.cc └── switch_ntyco.c /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/README.md -------------------------------------------------------------------------------- /README_ZH.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/README_ZH.md -------------------------------------------------------------------------------- /cert/gen_key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/cert/gen_key -------------------------------------------------------------------------------- /cert/meson.build: -------------------------------------------------------------------------------- 1 | run_command('./gen_key', check: true) -------------------------------------------------------------------------------- /evaluation.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/evaluation.txt -------------------------------------------------------------------------------- /example/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/Makefile -------------------------------------------------------------------------------- /example/asymmetric.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/asymmetric.c -------------------------------------------------------------------------------- /example/channel.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/channel.c -------------------------------------------------------------------------------- /example/coropool.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/coropool.c -------------------------------------------------------------------------------- /example/epoll.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/epoll.c -------------------------------------------------------------------------------- /example/meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/meson.build -------------------------------------------------------------------------------- /example/multithread.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/multithread.c -------------------------------------------------------------------------------- /example/network.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/network.c -------------------------------------------------------------------------------- /example/pubsub.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/pubsub.c -------------------------------------------------------------------------------- /example/semaphore.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/semaphore.c -------------------------------------------------------------------------------- /example/setstack.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/setstack.c -------------------------------------------------------------------------------- /example/signal.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/signal.c -------------------------------------------------------------------------------- /example/sleep.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/sleep.c -------------------------------------------------------------------------------- /example/socket_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/socket_client.c -------------------------------------------------------------------------------- /example/socket_server.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/socket_server.c -------------------------------------------------------------------------------- /example/ssl_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/ssl_client.c -------------------------------------------------------------------------------- /example/ssl_server.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/ssl_server.c -------------------------------------------------------------------------------- /example/stack_dont_overflow.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/stack_dont_overflow.c -------------------------------------------------------------------------------- /example/stop_abort.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/stop_abort.c -------------------------------------------------------------------------------- /example/waitgroup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/example/waitgroup.c -------------------------------------------------------------------------------- /history.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/history.md -------------------------------------------------------------------------------- /img/arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/img/arch.png -------------------------------------------------------------------------------- /img/dyco.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/img/dyco.png -------------------------------------------------------------------------------- /include/dyco/dyco_coroutine.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/include/dyco/dyco_coroutine.h -------------------------------------------------------------------------------- /include/dyco/dyco_htable.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/include/dyco/dyco_htable.h -------------------------------------------------------------------------------- /include/dyco/dyco_ucontext.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/include/dyco/dyco_ucontext.h -------------------------------------------------------------------------------- /include/dyco/sys_queue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/include/dyco/sys_queue.h -------------------------------------------------------------------------------- /include/dyco/sys_tree.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/include/dyco/sys_tree.h -------------------------------------------------------------------------------- /include/dyco/uctx_386.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/include/dyco/uctx_386.h -------------------------------------------------------------------------------- /include/dyco/uctx_amd64.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/include/dyco/uctx_amd64.h -------------------------------------------------------------------------------- /include/dyco/uctx_mips.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/include/dyco/uctx_mips.h -------------------------------------------------------------------------------- /include/dyco/uctx_power.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/include/dyco/uctx_power.h -------------------------------------------------------------------------------- /meson.build: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/meson.build -------------------------------------------------------------------------------- /src/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/Makefile -------------------------------------------------------------------------------- /src/dyco_asymcoro.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/dyco_asymcoro.c -------------------------------------------------------------------------------- /src/dyco_channel.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/dyco_channel.c -------------------------------------------------------------------------------- /src/dyco_coropool.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/dyco_coropool.c -------------------------------------------------------------------------------- /src/dyco_coroutine.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/dyco_coroutine.c -------------------------------------------------------------------------------- /src/dyco_epoll.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/dyco_epoll.c -------------------------------------------------------------------------------- /src/dyco_hook.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/dyco_hook.c -------------------------------------------------------------------------------- /src/dyco_pubsub.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/dyco_pubsub.c -------------------------------------------------------------------------------- /src/dyco_schedcall.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/dyco_schedcall.c -------------------------------------------------------------------------------- /src/dyco_schedule.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/dyco_schedule.c -------------------------------------------------------------------------------- /src/dyco_semaphore.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/dyco_semaphore.c -------------------------------------------------------------------------------- /src/dyco_signal.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/dyco_signal.c -------------------------------------------------------------------------------- /src/dyco_socket.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/dyco_socket.c -------------------------------------------------------------------------------- /src/dyco_ssl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/dyco_ssl.c -------------------------------------------------------------------------------- /src/dyco_waitgroup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/dyco_waitgroup.c -------------------------------------------------------------------------------- /src/uctx_asm.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/uctx_asm.S -------------------------------------------------------------------------------- /src/uctx_context.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/src/uctx_context.c -------------------------------------------------------------------------------- /switchtest/switch_dyco.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/switchtest/switch_dyco.c -------------------------------------------------------------------------------- /switchtest/switch_libco.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/switchtest/switch_libco.cc -------------------------------------------------------------------------------- /switchtest/switch_ntyco.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piaodazhu/dyco-coroutine/HEAD/switchtest/switch_ntyco.c --------------------------------------------------------------------------------