From a565c5e9078c17f2f6f652a7093d73afc016695d Mon Sep 17 00:00:00 2001 From: nick Date: Fri, 16 Oct 2026 17:03:34 +0800 Subject: [PATCH 1/3] refactor(layout): unify public headers and source directories --- CMakeLists.txt | 21 +------- benchmarks/CMakeLists.txt | 2 +- benchmarks/database.cpp | 4 +- docs/project-layout.md | 9 ++-- docs/project-layout_CN.md | 9 ++-- docs/project/plugin-organization.md | 49 ++++++++++--------- docs/project/plugin-organization_CN.md | 49 ++++++++++--------- docs/project/roadmap.md | 2 +- docs/project/roadmap_CN.md | 2 +- docs/reference/bus.md | 6 +-- docs/reference/bus_CN.md | 6 +-- docs/reference/directory-structure.md | 9 ++-- docs/reference/directory-structure_CN.md | 9 ++-- docs/reference/kernel.md | 10 ++-- docs/reference/kernel_CN.md | 10 ++-- docs/reference/network.md | 2 +- docs/reference/network_CN.md | 2 +- .../ark/bus/bus_module.hpp | 0 .../ark/bus/bus_module_impl.hpp | 0 .../ark/bus/bus_plugin.hpp | 0 .../ark/bus/msg_module.hpp | 0 .../ark/bus/msg_module_impl.hpp | 0 .../ark/consul/consul_module.hpp | 0 .../ark/consul/consul_module_impl.hpp | 0 .../ark/consul/consul_plugin.hpp | 0 .../ark/etcd_client/etcd_client.hpp | 0 .../ark/etcd_client/etcd_client_impl.hpp | 0 .../ark/etcd_client/etcd_client_module.hpp | 0 .../etcd_client/etcd_client_module_impl.hpp | 0 .../ark/etcd_client/etcd_client_plugin.hpp | 0 .../ark/http/http_plugin.hpp | 0 .../ark/http/http_server_module.hpp | 0 .../ark/http/http_server_module_impl.hpp | 0 .../include => include}/ark/kafka/kafka.hpp | 0 .../ark/kafka/kafka_module.hpp | 0 .../ark/kafka/kafka_module_impl.hpp | 0 .../ark/kafka/kafka_plugin.hpp | 0 .../ark/kernel/class_call_back_manager.hpp | 0 .../ark/kernel/class_meta.hpp | 0 .../ark/kernel/class_meta_manager.hpp | 0 .../ark/kernel/class_meta_module.hpp | 0 .../ark/kernel/class_meta_module_impl.hpp | 0 .../ark/kernel/component.hpp | 0 .../ark/kernel/config_module.hpp | 0 .../ark/kernel/config_module_impl.hpp | 0 .../ark/kernel/container.hpp | 0 .../ark/kernel/container_impl.hpp | 0 .../ark/kernel/container_manager.hpp | 0 .../ark/kernel/container_manager_impl.hpp | 0 .../ark/kernel/container_meta.hpp | 0 .../include => include}/ark/kernel/data.hpp | 0 .../ark/kernel/data_impl.hpp | 0 .../ark/kernel/data_list.hpp | 0 .../ark/kernel/data_list_impl.hpp | 0 .../include => include}/ark/kernel/entity.hpp | 0 .../ark/kernel/entity_impl.hpp | 0 .../ark/kernel/event_manager.hpp | 0 .../ark/kernel/event_manager_impl.hpp | 0 .../ark/kernel/kernel_module.hpp | 0 .../ark/kernel/kernel_module_impl.hpp | 0 .../ark/kernel/kernel_plugin.hpp | 0 .../ark/kernel/map_module.hpp | 0 .../ark/kernel/map_module_impl.hpp | 0 .../include => include}/ark/kernel/node.hpp | 0 .../ark/kernel/node_impl.hpp | 0 .../ark/kernel/node_manager.hpp | 0 .../ark/kernel/node_meta.hpp | 0 .../include => include}/ark/kernel/row.hpp | 0 .../ark/kernel/static_entity.hpp | 0 .../ark/kernel/static_entity_impl.hpp | 0 .../ark/kernel/static_entity_manager.hpp | 0 .../include => include}/ark/kernel/table.hpp | 0 .../ark/kernel/table_impl.hpp | 0 .../ark/kernel/table_manager.hpp | 0 .../ark/kernel/table_meta.hpp | 0 .../ark/mysql/mysql_driver_manager_module.hpp | 0 .../mysql_driver_manager_module_impl.hpp | 0 .../ark/mysql/mysql_driver_module.hpp | 0 .../ark/mysql/mysql_driver_module_impl.hpp | 0 .../ark/mysql/mysql_module.hpp | 0 .../ark/mysql/mysql_module_impl.hpp | 0 .../ark/mysql/mysql_plugin.hpp | 0 .../ark/net/http_client_module.hpp | 0 .../ark/net/http_client_module_impl.hpp | 0 .../ark/net/http_server.hpp | 0 .../net/include => include}/ark/net/net.hpp | 0 .../ark/net/net_client_service.hpp | 0 .../ark/net/net_client_service_impl.hpp | 0 .../ark/net/net_define.hpp | 0 .../include => include}/ark/net/net_event.hpp | 0 .../include => include}/ark/net/net_msg.hpp | 0 .../ark/net/net_plugin.hpp | 0 .../ark/net/net_server_service.hpp | 0 .../ark/net/net_server_service_impl.hpp | 0 .../ark/net/net_service_manager_module.hpp | 0 .../net/net_service_manager_module_impl.hpp | 0 .../ark/net/net_session.hpp | 0 .../ark/net/rudp_client.hpp | 0 .../ark/net/rudp_server.hpp | 0 .../ark/net/tcp_client.hpp | 0 .../ark/net/tcp_server.hpp | 0 .../ark/net/websocket_client.hpp | 0 .../ark/net/websocket_server.hpp | 0 .../ark/osssdk/oss_sdk_module.hpp | 0 .../ark/osssdk/oss_sdk_module_impl.hpp | 0 .../ark/osssdk/oss_sdk_plugin.hpp | 0 .../ark/physic/physic_config_module.hpp | 0 .../ark/physic/physic_config_module_impl.hpp | 0 .../ark/physic/physic_define.hpp | 0 .../ark/physic/physic_module.hpp | 0 .../ark/physic/physic_module_impl.hpp | 0 .../ark/physic/physic_plugin.hpp | 0 .../ark/physic/wave_front.hpp | 0 .../ark/redis/redis_manager.hpp | 0 .../ark/redis/redis_module.hpp | 0 .../ark/redis/redis_module_impl.hpp | 0 .../ark/redis/redis_plugin.hpp | 0 .../ark/utility/compress_module.hpp | 0 .../ark/utility/compress_module_impl.hpp | 0 .../include => include}/ark/utility/ctpl.h | 0 .../ark/utility/ctpl_stl.h | 0 .../ark/utility/guid_module.hpp | 0 .../ark/utility/guid_module_impl.hpp | 0 .../ark/utility/schedule_module.hpp | 0 .../ark/utility/schedule_module_impl.hpp | 0 .../ark/utility/scheduler.hpp | 0 .../ark/utility/timer_module.hpp | 0 .../ark/utility/timer_module_impl.hpp | 0 .../ark/utility/utility_plugin.hpp | 0 scripts/style_files.sh | 10 ++-- src/core/CMakeLists.txt | 18 +++++++ {plugins => src/plugins}/CMakeLists.txt | 10 ++-- {plugins => src/plugins}/README.md | 4 +- {plugins => src/plugins}/README_CN.md | 4 +- {plugins => src/plugins}/bus/CMakeLists.txt | 0 .../plugins/bus}/bus_module_impl.cpp | 0 .../src => src/plugins/bus}/bus_plugin.cpp | 0 .../plugins/bus}/msg_module_impl.cpp | 0 .../plugins}/consul/CMakeLists.txt | 0 .../plugins/consul}/consul_module_impl.cpp | 0 .../plugins/consul}/consul_plugin.cpp | 0 .../plugins}/detail/database_awaitable.hpp | 0 .../detail/database_completion_queue.hpp | 0 .../detail/database_request_control.hpp | 0 .../plugins}/detail/module_task_group.hpp | 0 .../plugins}/etcd_client/CMakeLists.txt | 0 .../plugins/etcd_client}/etcd_client_impl.cpp | 0 .../etcd_client}/etcd_client_module_impl.cpp | 0 .../etcd_client}/etcd_client_plugin.cpp | 0 {plugins => src/plugins}/http/CMakeLists.txt | 0 .../src => src/plugins/http}/http_plugin.cpp | 0 .../plugins/http}/http_server_module_impl.cpp | 0 {plugins => src/plugins}/kafka/CMakeLists.txt | 0 .../plugins/kafka}/kafka_module_impl.cpp | 0 .../plugins/kafka}/kafka_plugin.cpp | 0 .../plugins}/kernel/CMakeLists.txt | 0 .../kernel}/class_call_back_manager.cpp | 0 .../src => src/plugins/kernel}/class_meta.cpp | 0 .../kernel}/class_meta_module_impl.cpp | 0 .../plugins/kernel}/config_module_impl.cpp | 0 .../plugins/kernel}/container_impl.cpp | 0 .../kernel}/container_manager_impl.cpp | 0 .../plugins/kernel}/detail/resource_path.hpp | 0 .../plugins/kernel}/entity_impl.cpp | 0 .../plugins/kernel}/kernel_module_impl.cpp | 0 .../plugins/kernel}/kernel_plugin.cpp | 0 .../plugins/kernel}/map_module_impl.cpp | 0 .../plugins/kernel}/node_manager.cpp | 0 .../kernel/src => src/plugins/kernel}/row.cpp | 0 .../plugins/kernel}/static_entity_impl.cpp | 0 .../src => src/plugins/kernel}/table_impl.cpp | 0 .../src => src/plugins/kernel}/table_meta.cpp | 0 {plugins => src/plugins}/mysql/CMakeLists.txt | 0 .../plugins/mysql}/detail/mysql_service.hpp | 0 .../mysql_driver_manager_module_impl.cpp | 0 .../mysql}/mysql_driver_module_impl.cpp | 0 .../plugins/mysql}/mysql_module_impl.cpp | 0 .../plugins/mysql}/mysql_plugin.cpp | 0 {plugins => src/plugins}/net/CMakeLists.txt | 0 .../plugins/net}/http_client_module_impl.cpp | 0 .../src => src/plugins/net}/http_server.cpp | 0 .../plugins/net}/net_client_service_impl.cpp | 0 .../src => src/plugins/net}/net_plugin.cpp | 0 .../plugins/net}/net_server_service_impl.cpp | 0 .../net}/net_service_manager_module_impl.cpp | 0 .../src => src/plugins/net}/rudp_client.cpp | 0 .../src => src/plugins/net}/rudp_server.cpp | 0 .../src => src/plugins/net}/tcp_client.cpp | 0 .../src => src/plugins/net}/tcp_server.cpp | 0 .../plugins/net}/websocket_client.cpp | 0 .../plugins/net}/websocket_server.cpp | 0 .../plugins}/osssdk/CMakeLists.txt | 0 .../plugins/osssdk}/oss_sdk_module_impl.cpp | 0 .../plugins/osssdk}/oss_sdk_plugin.cpp | 0 .../plugins}/physic/CMakeLists.txt | 0 .../physic}/physic_config_module_impl.cpp | 0 .../plugins/physic}/physic_module_impl.cpp | 0 .../plugins/physic}/physic_plugin.cpp | 0 .../ark => src/plugins}/physic/wave_front.cpp | 0 {plugins => src/plugins}/redis/CMakeLists.txt | 0 .../plugins/redis}/detail/redis_service.hpp | 0 .../plugins/redis}/redis_module_impl.cpp | 0 .../plugins/redis}/redis_plugin.cpp | 0 .../plugins}/utility/CMakeLists.txt | 0 .../plugins/utility}/compress_module_impl.cpp | 0 .../plugins/utility}/guid_module_impl.cpp | 0 .../plugins/utility}/schedule_module_impl.cpp | 0 .../plugins/utility}/timer_module_impl.cpp | 0 .../plugins/utility}/utility_plugin.cpp | 0 tests/core/CMakeLists.txt | 28 +++++------ tests/database/CMakeLists.txt | 2 +- tests/database/COROUTINES.md | 2 +- tests/database/COROUTINES_CN.md | 2 +- tests/database/MYSQL.md | 2 +- tests/database/MYSQL_CN.md | 2 +- tests/database/mysql_service.cpp | 2 +- tests/database/redis_service.cpp | 2 +- tests/database/redis_stop_capture.cpp | 2 +- tests/database/service_awaitable.cpp | 4 +- tests/network/CMakeLists.txt | 18 +++---- 220 files changed, 164 insertions(+), 149 deletions(-) rename {plugins/bus/include => include}/ark/bus/bus_module.hpp (100%) rename {plugins/bus/include => include}/ark/bus/bus_module_impl.hpp (100%) rename {plugins/bus/include => include}/ark/bus/bus_plugin.hpp (100%) rename {plugins/bus/include => include}/ark/bus/msg_module.hpp (100%) rename {plugins/bus/include => include}/ark/bus/msg_module_impl.hpp (100%) rename {plugins/consul/include => include}/ark/consul/consul_module.hpp (100%) rename {plugins/consul/include => include}/ark/consul/consul_module_impl.hpp (100%) rename {plugins/consul/include => include}/ark/consul/consul_plugin.hpp (100%) rename {plugins/etcd_client/include => include}/ark/etcd_client/etcd_client.hpp (100%) rename {plugins/etcd_client/include => include}/ark/etcd_client/etcd_client_impl.hpp (100%) rename {plugins/etcd_client/include => include}/ark/etcd_client/etcd_client_module.hpp (100%) rename {plugins/etcd_client/include => include}/ark/etcd_client/etcd_client_module_impl.hpp (100%) rename {plugins/etcd_client/include => include}/ark/etcd_client/etcd_client_plugin.hpp (100%) rename {plugins/http/include => include}/ark/http/http_plugin.hpp (100%) rename {plugins/http/include => include}/ark/http/http_server_module.hpp (100%) rename {plugins/http/include => include}/ark/http/http_server_module_impl.hpp (100%) rename {plugins/kafka/include => include}/ark/kafka/kafka.hpp (100%) rename {plugins/kafka/include => include}/ark/kafka/kafka_module.hpp (100%) rename {plugins/kafka/include => include}/ark/kafka/kafka_module_impl.hpp (100%) rename {plugins/kafka/include => include}/ark/kafka/kafka_plugin.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/class_call_back_manager.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/class_meta.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/class_meta_manager.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/class_meta_module.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/class_meta_module_impl.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/component.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/config_module.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/config_module_impl.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/container.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/container_impl.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/container_manager.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/container_manager_impl.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/container_meta.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/data.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/data_impl.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/data_list.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/data_list_impl.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/entity.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/entity_impl.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/event_manager.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/event_manager_impl.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/kernel_module.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/kernel_module_impl.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/kernel_plugin.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/map_module.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/map_module_impl.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/node.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/node_impl.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/node_manager.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/node_meta.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/row.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/static_entity.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/static_entity_impl.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/static_entity_manager.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/table.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/table_impl.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/table_manager.hpp (100%) rename {plugins/kernel/include => include}/ark/kernel/table_meta.hpp (100%) rename {plugins/mysql/include => include}/ark/mysql/mysql_driver_manager_module.hpp (100%) rename {plugins/mysql/include => include}/ark/mysql/mysql_driver_manager_module_impl.hpp (100%) rename {plugins/mysql/include => include}/ark/mysql/mysql_driver_module.hpp (100%) rename {plugins/mysql/include => include}/ark/mysql/mysql_driver_module_impl.hpp (100%) rename {plugins/mysql/include => include}/ark/mysql/mysql_module.hpp (100%) rename {plugins/mysql/include => include}/ark/mysql/mysql_module_impl.hpp (100%) rename {plugins/mysql/include => include}/ark/mysql/mysql_plugin.hpp (100%) rename {plugins/net/include => include}/ark/net/http_client_module.hpp (100%) rename {plugins/net/include => include}/ark/net/http_client_module_impl.hpp (100%) rename {plugins/net/include => include}/ark/net/http_server.hpp (100%) rename {plugins/net/include => include}/ark/net/net.hpp (100%) rename {plugins/net/include => include}/ark/net/net_client_service.hpp (100%) rename {plugins/net/include => include}/ark/net/net_client_service_impl.hpp (100%) rename {plugins/net/include => include}/ark/net/net_define.hpp (100%) rename {plugins/net/include => include}/ark/net/net_event.hpp (100%) rename {plugins/net/include => include}/ark/net/net_msg.hpp (100%) rename {plugins/net/include => include}/ark/net/net_plugin.hpp (100%) rename {plugins/net/include => include}/ark/net/net_server_service.hpp (100%) rename {plugins/net/include => include}/ark/net/net_server_service_impl.hpp (100%) rename {plugins/net/include => include}/ark/net/net_service_manager_module.hpp (100%) rename {plugins/net/include => include}/ark/net/net_service_manager_module_impl.hpp (100%) rename {plugins/net/include => include}/ark/net/net_session.hpp (100%) rename {plugins/net/include => include}/ark/net/rudp_client.hpp (100%) rename {plugins/net/include => include}/ark/net/rudp_server.hpp (100%) rename {plugins/net/include => include}/ark/net/tcp_client.hpp (100%) rename {plugins/net/include => include}/ark/net/tcp_server.hpp (100%) rename {plugins/net/include => include}/ark/net/websocket_client.hpp (100%) rename {plugins/net/include => include}/ark/net/websocket_server.hpp (100%) rename {plugins/osssdk/include => include}/ark/osssdk/oss_sdk_module.hpp (100%) rename {plugins/osssdk/include => include}/ark/osssdk/oss_sdk_module_impl.hpp (100%) rename {plugins/osssdk/include => include}/ark/osssdk/oss_sdk_plugin.hpp (100%) rename {plugins/physic/include => include}/ark/physic/physic_config_module.hpp (100%) rename {plugins/physic/include => include}/ark/physic/physic_config_module_impl.hpp (100%) rename {plugins/physic/include => include}/ark/physic/physic_define.hpp (100%) rename {plugins/physic/include => include}/ark/physic/physic_module.hpp (100%) rename {plugins/physic/include => include}/ark/physic/physic_module_impl.hpp (100%) rename {plugins/physic/include => include}/ark/physic/physic_plugin.hpp (100%) rename {plugins/physic/include => include}/ark/physic/wave_front.hpp (100%) rename {plugins/redis/include => include}/ark/redis/redis_manager.hpp (100%) rename {plugins/redis/include => include}/ark/redis/redis_module.hpp (100%) rename {plugins/redis/include => include}/ark/redis/redis_module_impl.hpp (100%) rename {plugins/redis/include => include}/ark/redis/redis_plugin.hpp (100%) rename {plugins/utility/include => include}/ark/utility/compress_module.hpp (100%) rename {plugins/utility/include => include}/ark/utility/compress_module_impl.hpp (100%) rename {plugins/utility/include => include}/ark/utility/ctpl.h (100%) rename {plugins/utility/include => include}/ark/utility/ctpl_stl.h (100%) rename {plugins/utility/include => include}/ark/utility/guid_module.hpp (100%) rename {plugins/utility/include => include}/ark/utility/guid_module_impl.hpp (100%) rename {plugins/utility/include => include}/ark/utility/schedule_module.hpp (100%) rename {plugins/utility/include => include}/ark/utility/schedule_module_impl.hpp (100%) rename {plugins/utility/include => include}/ark/utility/scheduler.hpp (100%) rename {plugins/utility/include => include}/ark/utility/timer_module.hpp (100%) rename {plugins/utility/include => include}/ark/utility/timer_module_impl.hpp (100%) rename {plugins/utility/include => include}/ark/utility/utility_plugin.hpp (100%) create mode 100644 src/core/CMakeLists.txt rename {plugins => src/plugins}/CMakeLists.txt (84%) rename {plugins => src/plugins}/README.md (73%) rename {plugins => src/plugins}/README_CN.md (73%) rename {plugins => src/plugins}/bus/CMakeLists.txt (100%) rename {plugins/bus/src => src/plugins/bus}/bus_module_impl.cpp (100%) rename {plugins/bus/src => src/plugins/bus}/bus_plugin.cpp (100%) rename {plugins/bus/src => src/plugins/bus}/msg_module_impl.cpp (100%) rename {plugins => src/plugins}/consul/CMakeLists.txt (100%) rename {plugins/consul/src => src/plugins/consul}/consul_module_impl.cpp (100%) rename {plugins/consul/src => src/plugins/consul}/consul_plugin.cpp (100%) rename {plugins => src/plugins}/detail/database_awaitable.hpp (100%) rename {plugins => src/plugins}/detail/database_completion_queue.hpp (100%) rename {plugins => src/plugins}/detail/database_request_control.hpp (100%) rename {plugins => src/plugins}/detail/module_task_group.hpp (100%) rename {plugins => src/plugins}/etcd_client/CMakeLists.txt (100%) rename {plugins/etcd_client/src => src/plugins/etcd_client}/etcd_client_impl.cpp (100%) rename {plugins/etcd_client/src => src/plugins/etcd_client}/etcd_client_module_impl.cpp (100%) rename {plugins/etcd_client/src => src/plugins/etcd_client}/etcd_client_plugin.cpp (100%) rename {plugins => src/plugins}/http/CMakeLists.txt (100%) rename {plugins/http/src => src/plugins/http}/http_plugin.cpp (100%) rename {plugins/http/src => src/plugins/http}/http_server_module_impl.cpp (100%) rename {plugins => src/plugins}/kafka/CMakeLists.txt (100%) rename {plugins/kafka/src => src/plugins/kafka}/kafka_module_impl.cpp (100%) rename {plugins/kafka/src => src/plugins/kafka}/kafka_plugin.cpp (100%) rename {plugins => src/plugins}/kernel/CMakeLists.txt (100%) rename {plugins/kernel/src => src/plugins/kernel}/class_call_back_manager.cpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/class_meta.cpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/class_meta_module_impl.cpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/config_module_impl.cpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/container_impl.cpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/container_manager_impl.cpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/detail/resource_path.hpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/entity_impl.cpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/kernel_module_impl.cpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/kernel_plugin.cpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/map_module_impl.cpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/node_manager.cpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/row.cpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/static_entity_impl.cpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/table_impl.cpp (100%) rename {plugins/kernel/src => src/plugins/kernel}/table_meta.cpp (100%) rename {plugins => src/plugins}/mysql/CMakeLists.txt (100%) rename {plugins/mysql/src => src/plugins/mysql}/detail/mysql_service.hpp (100%) rename {plugins/mysql/src => src/plugins/mysql}/mysql_driver_manager_module_impl.cpp (100%) rename {plugins/mysql/src => src/plugins/mysql}/mysql_driver_module_impl.cpp (100%) rename {plugins/mysql/src => src/plugins/mysql}/mysql_module_impl.cpp (100%) rename {plugins/mysql/src => src/plugins/mysql}/mysql_plugin.cpp (100%) rename {plugins => src/plugins}/net/CMakeLists.txt (100%) rename {plugins/net/src => src/plugins/net}/http_client_module_impl.cpp (100%) rename {plugins/net/src => src/plugins/net}/http_server.cpp (100%) rename {plugins/net/src => src/plugins/net}/net_client_service_impl.cpp (100%) rename {plugins/net/src => src/plugins/net}/net_plugin.cpp (100%) rename {plugins/net/src => src/plugins/net}/net_server_service_impl.cpp (100%) rename {plugins/net/src => src/plugins/net}/net_service_manager_module_impl.cpp (100%) rename {plugins/net/src => src/plugins/net}/rudp_client.cpp (100%) rename {plugins/net/src => src/plugins/net}/rudp_server.cpp (100%) rename {plugins/net/src => src/plugins/net}/tcp_client.cpp (100%) rename {plugins/net/src => src/plugins/net}/tcp_server.cpp (100%) rename {plugins/net/src => src/plugins/net}/websocket_client.cpp (100%) rename {plugins/net/src => src/plugins/net}/websocket_server.cpp (100%) rename {plugins => src/plugins}/osssdk/CMakeLists.txt (100%) rename {plugins/osssdk/src => src/plugins/osssdk}/oss_sdk_module_impl.cpp (100%) rename {plugins/osssdk/src => src/plugins/osssdk}/oss_sdk_plugin.cpp (100%) rename {plugins => src/plugins}/physic/CMakeLists.txt (100%) rename {plugins/physic/src => src/plugins/physic}/physic_config_module_impl.cpp (100%) rename {plugins/physic/src => src/plugins/physic}/physic_module_impl.cpp (100%) rename {plugins/physic/src => src/plugins/physic}/physic_plugin.cpp (100%) rename {plugins/physic/include/ark => src/plugins}/physic/wave_front.cpp (100%) rename {plugins => src/plugins}/redis/CMakeLists.txt (100%) rename {plugins/redis/src => src/plugins/redis}/detail/redis_service.hpp (100%) rename {plugins/redis/src => src/plugins/redis}/redis_module_impl.cpp (100%) rename {plugins/redis/src => src/plugins/redis}/redis_plugin.cpp (100%) rename {plugins => src/plugins}/utility/CMakeLists.txt (100%) rename {plugins/utility/src => src/plugins/utility}/compress_module_impl.cpp (100%) rename {plugins/utility/src => src/plugins/utility}/guid_module_impl.cpp (100%) rename {plugins/utility/src => src/plugins/utility}/schedule_module_impl.cpp (100%) rename {plugins/utility/src => src/plugins/utility}/timer_module_impl.cpp (100%) rename {plugins/utility/src => src/plugins/utility}/utility_plugin.cpp (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7419bb0e..d6ae2b2b 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -201,24 +201,7 @@ endif() find_path(RAPIDXML_INCLUDE_DIR rapidxml.hpp PATH_SUFFIXES rapidxml REQUIRED) -add_library(ark_core INTERFACE) -add_library(ark::core ALIAS ark_core) -target_compile_features(ark_core INTERFACE cxx_std_20) -target_include_directories(ark_core INTERFACE - "$" - "$" - "$" - "${RAPIDXML_INCLUDE_DIR}") -target_link_libraries(ark_core INTERFACE arknet::arknet ${CMAKE_DL_LIBS}) -target_compile_definitions(ark_core INTERFACE - $<$:ARK_USE_GUID_32> - $<$:ARK_DOCKER_ALPINE> - $<$:OPEN_FILE_LOG> - $<$:_DEBUG>) -if(MSVC) - target_compile_options(ark_core INTERFACE /bigobj /utf-8 /Zc:__cplusplus) - target_compile_definitions(ark_core INTERFACE WIN32_LEAN_AND_MEAN _WIN32_WINNT=0x0601) -endif() +add_subdirectory(src/core) add_library(ark_sdk INTERFACE) add_library(ark::ark ALIAS ark_sdk) @@ -268,7 +251,7 @@ if(ARK_BUILD_PROTO) add_subdirectory(src/proto) target_link_libraries(ark_sdk INTERFACE ark::proto) endif() -add_subdirectory(plugins) +add_subdirectory(src/plugins) link_libraries(ark::ark) if(ARK_BUILD_APPLICATIONS) add_subdirectory(src/app) diff --git a/benchmarks/CMakeLists.txt b/benchmarks/CMakeLists.txt index 1fdd255a..a6956878 100644 --- a/benchmarks/CMakeLists.txt +++ b/benchmarks/CMakeLists.txt @@ -14,7 +14,7 @@ if(ARK_BUILD_DATABASE_BENCHMARKS) endif() find_package(Threads REQUIRED) add_executable(ark_database_benchmark database.cpp) - target_include_directories(ark_database_benchmark PRIVATE "${ROOT_DIR}/plugins") + target_include_directories(ark_database_benchmark PRIVATE "${ROOT_DIR}/src/plugins") target_link_libraries(ark_database_benchmark PRIVATE arknet::arknet Threads::Threads) if(WIN32) target_link_libraries(ark_database_benchmark PRIVATE psapi) diff --git a/benchmarks/database.cpp b/benchmarks/database.cpp index 31b9c112..0bae7f00 100644 --- a/benchmarks/database.cpp +++ b/benchmarks/database.cpp @@ -29,9 +29,9 @@ #endif #include "detail/database_awaitable.hpp" -#include "redis/src/detail/redis_service.hpp" +#include "redis/detail/redis_service.hpp" #if defined(ARKNET_ENABLE_SSL) -#include "mysql/src/detail/mysql_service.hpp" +#include "mysql/detail/mysql_service.hpp" #endif namespace { diff --git a/docs/project-layout.md b/docs/project-layout.md index d3eb94de..1a766366 100644 --- a/docs/project-layout.md +++ b/docs/project-layout.md @@ -16,13 +16,14 @@ build's artifacts into the runtime's `bin/` directory. | Path | Contents | | --- | --- | -| `include/ark/` | Public core headers | +| `include/ark/` | Public core and plugin headers | +| `src/core/` | Core CMake target and header-only usage requirements | | `src/app/` | Application entry point | | `src/proto/` | Protocol schemas and codec implementation | | `src/server/` | Built-in server applications | -| `plugins//include/ark//` | Public headers for an official plugin | -| `plugins//src/` | Plugin implementation | -| `plugins//tests/` | Tests specific to that plugin, when provided | +| `include/ark//` | Public headers for an official plugin | +| `src/plugins//` | Plugin implementation | +| `tests/` | Core, network and private database regressions | | `tests/network/` | Network and logging regressions | | `tests/consumer/` | An independent project consuming the public SDK | | `examples/` | Application examples | diff --git a/docs/project-layout_CN.md b/docs/project-layout_CN.md index 71ec8660..1b68005d 100644 --- a/docs/project-layout_CN.md +++ b/docs/project-layout_CN.md @@ -14,13 +14,14 @@ ark 使用 C++20。核心与官方插件放在本仓库,业务插件放在应 | 路径 | 内容 | | --- | --- | -| `include/ark/` | 核心公开头文件 | +| `include/ark/` | 核心与插件公开头文件 | +| `src/core/` | 核心 CMake target 与 header-only 使用要求 | | `src/app/` | 应用入口 | | `src/proto/` | 协议定义与编解码实现 | | `src/server/` | 内置服务端应用 | -| `plugins//include/ark//` | 官方插件公开头文件 | -| `plugins//src/` | 插件实现 | -| `plugins//tests/` | 插件专属测试,按需提供 | +| `include/ark//` | 官方插件公开头文件 | +| `src/plugins//` | 插件实现 | +| `tests/` | 核心、网络与私有数据库回归测试 | | `tests/network/` | 网络与日志回归测试 | | `tests/consumer/` | 独立使用公开 SDK 的示例项目 | | `examples/` | 应用示例 | diff --git a/docs/project/plugin-organization.md b/docs/project/plugin-organization.md index da1b2924..089a39d6 100644 --- a/docs/project/plugin-organization.md +++ b/docs/project/plugin-organization.md @@ -1,34 +1,36 @@ # Official plugins and repository organization -The project now uses top-level `plugins//`, public core headers in `include/ark/` and implementations in `src/`. Core and official plugins belong in `ark`; business plugins belong in application repositories; `arknet` remains independent. Hot-update design and implementation are deferred while individual plugin integrations receive their own functional acceptance. The directory and snake_case migration is complete. +Public core and plugin headers live in `include/ark/`; core build definitions live in `src/core/` and official plugin implementations in `src/plugins//`. Core and official plugins belong in `ark`; business plugins belong in application repositories; `arknet` remains independent. Hot-update design and implementation are deferred while individual plugin integrations receive their own functional acceptance. The directory and snake_case migration is complete. ## Existing implementations | Repository | Related code in ark | Proposed destination | Integration work | | --- | --- | --- | --- | -| [MySQLPlugin](https://github.com/OpenArkStudio/MySQLPlugin) | `plugins/mysql` | `plugins/mysql` | Implement the MySQL client in arknet; integrate configuration, connection services and business callbacks in the plugin | -| [RedisPlugin](https://github.com/OpenArkStudio/RedisPlugin) | `plugins/redis` | `plugins/redis` | Implement the Redis client in arknet, then replace aredis and bredis calls | -| [URLPlugin](https://github.com/OpenArkStudio/URLPlugin) | Net HTTP client and HTTP server plugin | `plugins/http` | Compare libcurl requests, encoding and actor integration; unify the HTTP service interface | -| [LuaScriptPlugin](https://github.com/OpenArkStudio/LuaScriptPlugin) | Integration with the new plugin interface required | `plugins/lua` | Define bindings and script lifecycle; replace old NFComm interface dependencies | -| [ActorPlugin](https://github.com/OpenArkStudio/ActorPlugin) | Integration with the new plugin interface required | `plugins/actor` | Define task scheduling, message delivery and business-thread responsibilities | +| [MySQLPlugin](https://github.com/OpenArkStudio/MySQLPlugin) | `src/plugins/mysql` | `src/plugins/mysql` | Implement the MySQL client in arknet; integrate configuration, connection services and business callbacks in the plugin | +| [RedisPlugin](https://github.com/OpenArkStudio/RedisPlugin) | `src/plugins/redis` | `src/plugins/redis` | Implement the Redis client in arknet, then replace aredis and bredis calls | +| [URLPlugin](https://github.com/OpenArkStudio/URLPlugin) | Net HTTP client and HTTP server plugin | `src/plugins/http` | Compare libcurl requests, encoding and actor integration; unify the HTTP service interface | +| [LuaScriptPlugin](https://github.com/OpenArkStudio/LuaScriptPlugin) | Integration with the new plugin interface required | `src/plugins/lua` | Define bindings and script lifecycle; replace old NFComm interface dependencies | +| [ActorPlugin](https://github.com/OpenArkStudio/ActorPlugin) | Integration with the new plugin interface required | `src/plugins/actor` | Define task scheduling, message delivery and business-thread responsibilities | These repositories use different generations of interfaces and build systems. Compare features, overlapping implementations and dependencies during integration. MySQL and Redis clients belong in arknet; discuss other plugin dependencies separately. -## Proposed layout +## Directory layout ```text ark/ -├── include/ark/ # Public core interfaces -├── src/ # Core runtime implementation -├── plugins/ # Official plugins, one directory per plugin -│ ├── kernel/ -│ ├── net/ -│ ├── bus/ -│ ├── http/ -│ ├── mysql/ -│ ├── redis/ -│ ├── lua/ -│ └── actor/ +├── include/ark/ # Public core and plugin interfaces +├── src/ +│ ├── core/ # Header-only core target definitions +│ ├── plugins/ # Official plugin implementations and CMake files +│ │ ├── kernel/ +│ │ ├── net/ +│ │ ├── bus/ +│ │ ├── http/ +│ │ ├── mysql/ +│ │ └── redis/ +│ ├── app/ +│ ├── proto/ +│ └── server/ ├── examples/ # Example applications and business plugins ├── tests/ # Core and cross-plugin integration tests ├── benchmarks/ # Standalone C++ benchmark programs @@ -37,16 +39,17 @@ ark/ └── docs/ # English/Chinese documentation and Nimbus site ``` -This shows the main directories. Existing Consul, etcd, Kafka and other official plugins follow the same convention. +This shows the main directories. Existing Consul, etcd, Kafka and other official plugins follow the same convention. Lua and Actor integration remains planned; the table above identifies their proposed implementation directories. Each plugin follows the same package layout, for example: ```text -plugins/mysql/ +include/ark/mysql/ # Public interfaces for plugin consumers +src/plugins/mysql/ ├── CMakeLists.txt -├── include/ark/mysql/ # Public interfaces for plugin consumers -├── src/ # Plugin entry point, framework integration and private code -└── tests/ # Plugin-specific tests +├── detail/ # Private native database bridge +└── *.cpp # Plugin entry point and framework integration +tests/database/ # Database integration and coroutine tests ``` Usage documentation belongs in `docs/`, and example applications in `examples/`. Define public interfaces around capabilities; keep database client types within implementation code where possible. diff --git a/docs/project/plugin-organization_CN.md b/docs/project/plugin-organization_CN.md index 8356842a..cc872297 100644 --- a/docs/project/plugin-organization_CN.md +++ b/docs/project/plugin-organization_CN.md @@ -1,34 +1,36 @@ # 官方插件与仓库组织 -工程目录已采用顶层平铺的 `plugins/<名称>/`,核心公开接口放在 `include/ark/`,实现放在 `src/`。核心与官方插件纳入 `ark`,业务插件放在应用仓库,`arknet` 保持独立。业务热更新的设计与实现暂缓,目录与 snake_case 整理已经落地,独立插件的功能整合仍按插件分别验收。 +核心与插件的公开接口统一放在 `include/ark/`,核心构建定义放在 `src/core/`,官方插件实现放在 `src/plugins/<名称>/`。核心与官方插件纳入 `ark`,业务插件放在应用仓库,`arknet` 保持独立。业务热更新的设计与实现暂缓,目录与 snake_case 整理已经落地,独立插件的功能整合仍按插件分别验收。 ## 现有实现 | 独立仓库 | ark 内的相关实现 | 建议合入位置 | 需要整理的内容 | | --- | --- | --- | --- | -| [MySQLPlugin](https://github.com/OpenArkStudio/MySQLPlugin) | `plugins/mysql` | `plugins/mysql` | 由 arknet 自主实现 MySQL 客户端;插件整合配置、连接服务和业务回调 | -| [RedisPlugin](https://github.com/OpenArkStudio/RedisPlugin) | `plugins/redis` | `plugins/redis` | 由 arknet 自主实现 Redis 客户端,再替换 aredis、bredis 的调用 | -| [URLPlugin](https://github.com/OpenArkStudio/URLPlugin) | Net HTTP client 与 HTTP server 插件 | `plugins/http` | 对照 libcurl 版本的请求、编码与 actor 调用能力,统一 HTTP 服务接口 | -| [LuaScriptPlugin](https://github.com/OpenArkStudio/LuaScriptPlugin) | 需要按新插件接口接入 | `plugins/lua` | 整理 Lua 绑定与脚本生命周期,移除对旧 NFComm 接口的依赖 | -| [ActorPlugin](https://github.com/OpenArkStudio/ActorPlugin) | 需要按新插件接口接入 | `plugins/actor` | 明确任务调度、消息投递和业务线程的关系 | +| [MySQLPlugin](https://github.com/OpenArkStudio/MySQLPlugin) | `src/plugins/mysql` | `src/plugins/mysql` | 由 arknet 自主实现 MySQL 客户端;插件整合配置、连接服务和业务回调 | +| [RedisPlugin](https://github.com/OpenArkStudio/RedisPlugin) | `src/plugins/redis` | `src/plugins/redis` | 由 arknet 自主实现 Redis 客户端,再替换 aredis、bredis 的调用 | +| [URLPlugin](https://github.com/OpenArkStudio/URLPlugin) | Net HTTP client 与 HTTP server 插件 | `src/plugins/http` | 对照 libcurl 版本的请求、编码与 actor 调用能力,统一 HTTP 服务接口 | +| [LuaScriptPlugin](https://github.com/OpenArkStudio/LuaScriptPlugin) | 需要按新插件接口接入 | `src/plugins/lua` | 整理 Lua 绑定与脚本生命周期,移除对旧 NFComm 接口的依赖 | +| [ActorPlugin](https://github.com/OpenArkStudio/ActorPlugin) | 需要按新插件接口接入 | `src/plugins/actor` | 明确任务调度、消息投递和业务线程的关系 | 这些仓库仍保留不同代际的接口和构建方式。合入时逐项对照功能、重叠实现与依赖。MySQL、Redis 客户端归入 arknet,其他插件的依赖按各自需求讨论。 -## 目录建议 +## 目录布局 ```text ark/ -├── include/ark/ # 核心公开接口 -├── src/ # 核心运行时实现 -├── plugins/ # 官方插件,按名称平铺 -│ ├── kernel/ -│ ├── net/ -│ ├── bus/ -│ ├── http/ -│ ├── mysql/ -│ ├── redis/ -│ ├── lua/ -│ └── actor/ +├── include/ark/ # 核心与插件公开接口 +├── src/ +│ ├── core/ # header-only 核心 target 定义 +│ ├── plugins/ # 官方插件实现与 CMake 文件 +│ │ ├── kernel/ +│ │ ├── net/ +│ │ ├── bus/ +│ │ ├── http/ +│ │ ├── mysql/ +│ │ └── redis/ +│ ├── app/ +│ ├── proto/ +│ └── server/ ├── examples/ # 示例应用与业务插件 ├── tests/ # 核心与跨插件集成测试 ├── benchmarks/ # 可独立编译运行的基准程序 @@ -37,16 +39,17 @@ ark/ └── docs/ # 中英文文档与 Nimbus 站点 ``` -上图列出主要目录。Consul、etcd、Kafka 等现有官方插件也按同一规则组织。 +上图列出主要目录。Consul、etcd、Kafka 等现有官方插件也按同一规则组织。Lua、Actor 的接入仍在规划中,上表列出的是它们的建议实现位置。 每个插件采用相同的目录布局,以 MySQL 为例: ```text -plugins/mysql/ +include/ark/mysql/ # 使用该插件时需要的公开接口 +src/plugins/mysql/ ├── CMakeLists.txt -├── include/ark/mysql/ # 使用该插件时需要的公开接口 -├── src/ # 插件入口、框架接入与私有实现 -└── tests/ # 该插件的独立测试 +├── detail/ # 私有原生数据库桥接 +└── *.cpp # 插件入口与框架接入 +tests/database/ # 数据库集成与协程测试 ``` 插件使用说明放在 `docs/`,示例应用放在 `examples/`。公共接口按能力定义,数据库客户端类型尽量保留在实现内。 diff --git a/docs/project/roadmap.md b/docs/project/roadmap.md index 5fa9434b..36c0b28e 100644 --- a/docs/project/roadmap.md +++ b/docs/project/roadmap.md @@ -2,7 +2,7 @@ ## Current modernization -- [x] Complete the `include/ark/`, `src/` and `plugins//` layout and snake_case API migration, including Protobuf source naming. +- [x] Complete the `include/ark/`, `src/` and `src/plugins//` layout and snake_case API migration, including Protobuf source naming. - [x] Release native single-node MySQL and Redis clients in arknet 0.2.0. - [ ] Replace ark database plugins' legacy drivers, with Asio coroutine entry points, native arknet owning results and module-thread completion. - [ ] Integrate the remaining independent official plugins with optional builds and tests. diff --git a/docs/project/roadmap_CN.md b/docs/project/roadmap_CN.md index 754f61f5..a089a6b9 100644 --- a/docs/project/roadmap_CN.md +++ b/docs/project/roadmap_CN.md @@ -2,7 +2,7 @@ ## 当前改造 -- [x] 完成 `include/ark/`、`src/` 与 `plugins/<名称>/` 的目录整理和 snake_case 接口迁移,包含 Protobuf 源码命名。 +- [x] 完成 `include/ark/`、`src/` 与 `src/plugins/<名称>/` 的目录整理和 snake_case 接口迁移,包含 Protobuf 源码命名。 - [x] 随 arknet 0.2.0 发布原生 MySQL、Redis 单节点客户端。 - [ ] 替换 ark 数据库插件的旧驱动,提供 Asio 协程入口,直接使用 arknet 拥有型结果,并在模块线程恢复。 - [ ] 整合其余独立官方插件,按需构建并补齐测试。 diff --git a/docs/reference/bus.md b/docs/reference/bus.md index 39df9a46..889ba2bb 100644 --- a/docs/reference/bus.md +++ b/docs/reference/bus.md @@ -177,7 +177,7 @@ TODO: provide a standalone two-process example and tests covering connection set ## API sources - [Bus addresses and process configuration](https://github.com/OpenArkStudio/ark/blob/main/include/ark/bus.hpp) -- [Bus interface](https://github.com/OpenArkStudio/ark/blob/main/plugins/bus/include/ark/bus/bus_module.hpp) -- [Message interface](https://github.com/OpenArkStudio/ark/blob/main/plugins/bus/include/ark/bus/msg_module.hpp) -- [Network service management interface](https://github.com/OpenArkStudio/ark/blob/main/plugins/net/include/ark/net/net_service_manager_module.hpp) +- [Bus interface](https://github.com/OpenArkStudio/ark/blob/main/include/ark/bus/bus_module.hpp) +- [Message interface](https://github.com/OpenArkStudio/ark/blob/main/include/ark/bus/msg_module.hpp) +- [Network service management interface](https://github.com/OpenArkStudio/ark/blob/main/include/ark/net/net_service_manager_module.hpp) - [Network build and tests](../networking.md) diff --git a/docs/reference/bus_CN.md b/docs/reference/bus_CN.md index f56d2377..d94bca05 100644 --- a/docs/reference/bus_CN.md +++ b/docs/reference/bus_CN.md @@ -177,7 +177,7 @@ TODO:提供独立的双进程示例与测试,覆盖连接建立、消息往 ## API 来源 - [Bus 地址与进程配置](https://github.com/OpenArkStudio/ark/blob/main/include/ark/bus.hpp) -- [Bus 接口](https://github.com/OpenArkStudio/ark/blob/main/plugins/bus/include/ark/bus/bus_module.hpp) -- [消息接口](https://github.com/OpenArkStudio/ark/blob/main/plugins/bus/include/ark/bus/msg_module.hpp) -- [网络服务管理接口](https://github.com/OpenArkStudio/ark/blob/main/plugins/net/include/ark/net/net_service_manager_module.hpp) +- [Bus 接口](https://github.com/OpenArkStudio/ark/blob/main/include/ark/bus/bus_module.hpp) +- [消息接口](https://github.com/OpenArkStudio/ark/blob/main/include/ark/bus/msg_module.hpp) +- [网络服务管理接口](https://github.com/OpenArkStudio/ark/blob/main/include/ark/net/net_service_manager_module.hpp) - [网络构建与测试](../networking_CN.md) diff --git a/docs/reference/directory-structure.md b/docs/reference/directory-structure.md index 15289f3a..3c48dd4a 100644 --- a/docs/reference/directory-structure.md +++ b/docs/reference/directory-structure.md @@ -10,13 +10,14 @@ Build artifacts belong to each CMake build directory: `cmake -S . -B out/release | Path | Contents | | --- | --- | -| `include/ark/` | Public core headers | +| `include/ark/` | Public core and plugin headers | +| `src/core/` | Core CMake target and header-only usage requirements | | `src/app/` | Application entry point | | `src/proto/` | Protocol schemas and codec implementation | | `src/server/` | Built-in server applications | -| `plugins//include/ark//` | Public headers for an official plugin | -| `plugins//src/` | Plugin implementation | -| `plugins//tests/` | Tests specific to that plugin, when provided | +| `include/ark//` | Public headers for an official plugin | +| `src/plugins//` | Plugin implementation | +| `tests/` | Core, network and private database regressions | | `tests/network/` | Network and logging regressions | | `tests/consumer/` | An independent project consuming the public SDK | | `examples/` | Application examples | diff --git a/docs/reference/directory-structure_CN.md b/docs/reference/directory-structure_CN.md index 50cb2877..9519e41d 100644 --- a/docs/reference/directory-structure_CN.md +++ b/docs/reference/directory-structure_CN.md @@ -9,13 +9,14 @@ ark 使用 C++20。核心与官方插件放在本仓库,业务插件放在应 | 路径 | 内容 | | --- | --- | -| `include/ark/` | 核心公开头文件 | +| `include/ark/` | 核心与插件公开头文件 | +| `src/core/` | 核心 CMake target 与 header-only 使用要求 | | `src/app/` | 应用入口 | | `src/proto/` | 协议定义与编解码实现 | | `src/server/` | 内置服务端应用 | -| `plugins//include/ark//` | 官方插件公开头文件 | -| `plugins//src/` | 插件实现 | -| `plugins//tests/` | 插件专属测试,按需提供 | +| `include/ark//` | 官方插件公开头文件 | +| `src/plugins//` | 插件实现 | +| `tests/` | 核心、网络与私有数据库回归测试 | | `tests/network/` | 网络与日志回归测试 | | `tests/consumer/` | 独立使用公开 SDK 的示例项目 | | `examples/` | 应用示例 | diff --git a/docs/reference/kernel.md b/docs/reference/kernel.md index 4080b6b0..5be966a8 100644 --- a/docs/reference/kernel.md +++ b/docs/reference/kernel.md @@ -171,9 +171,9 @@ The map module exposes entity lists and online counts. It does not provide a com ## API sources -- [Kernel interface](https://github.com/OpenArkStudio/ark/blob/main/plugins/kernel/include/ark/kernel/kernel_module.hpp) -- [Entity interface](https://github.com/OpenArkStudio/ark/blob/main/plugins/kernel/include/ark/kernel/entity.hpp) -- [Metadata interface](https://github.com/OpenArkStudio/ark/blob/main/plugins/kernel/include/ark/kernel/class_meta_module.hpp) -- [Configuration interface](https://github.com/OpenArkStudio/ark/blob/main/plugins/kernel/include/ark/kernel/config_module.hpp) -- [Map interface](https://github.com/OpenArkStudio/ark/blob/main/plugins/kernel/include/ark/kernel/map_module.hpp) +- [Kernel interface](https://github.com/OpenArkStudio/ark/blob/main/include/ark/kernel/kernel_module.hpp) +- [Entity interface](https://github.com/OpenArkStudio/ark/blob/main/include/ark/kernel/entity.hpp) +- [Metadata interface](https://github.com/OpenArkStudio/ark/blob/main/include/ark/kernel/class_meta_module.hpp) +- [Configuration interface](https://github.com/OpenArkStudio/ark/blob/main/include/ark/kernel/config_module.hpp) +- [Map interface](https://github.com/OpenArkStudio/ark/blob/main/include/ark/kernel/map_module.hpp) - [Data definitions and generation](../guides/data-structures.md) diff --git a/docs/reference/kernel_CN.md b/docs/reference/kernel_CN.md index b7a332fa..11ab16f4 100644 --- a/docs/reference/kernel_CN.md +++ b/docs/reference/kernel_CN.md @@ -171,9 +171,9 @@ private: ## API 来源 -- [Kernel 接口](https://github.com/OpenArkStudio/ark/blob/main/plugins/kernel/include/ark/kernel/kernel_module.hpp) -- [Entity 接口](https://github.com/OpenArkStudio/ark/blob/main/plugins/kernel/include/ark/kernel/entity.hpp) -- [元数据接口](https://github.com/OpenArkStudio/ark/blob/main/plugins/kernel/include/ark/kernel/class_meta_module.hpp) -- [配置接口](https://github.com/OpenArkStudio/ark/blob/main/plugins/kernel/include/ark/kernel/config_module.hpp) -- [地图接口](https://github.com/OpenArkStudio/ark/blob/main/plugins/kernel/include/ark/kernel/map_module.hpp) +- [Kernel 接口](https://github.com/OpenArkStudio/ark/blob/main/include/ark/kernel/kernel_module.hpp) +- [Entity 接口](https://github.com/OpenArkStudio/ark/blob/main/include/ark/kernel/entity.hpp) +- [元数据接口](https://github.com/OpenArkStudio/ark/blob/main/include/ark/kernel/class_meta_module.hpp) +- [配置接口](https://github.com/OpenArkStudio/ark/blob/main/include/ark/kernel/config_module.hpp) +- [地图接口](https://github.com/OpenArkStudio/ark/blob/main/include/ark/kernel/map_module.hpp) - [数据定义与生成](../guides/data-structures_CN.md) diff --git a/docs/reference/network.md b/docs/reference/network.md index fab8c176..7e80a555 100644 --- a/docs/reference/network.md +++ b/docs/reference/network.md @@ -11,7 +11,7 @@ The network plugin integrates the independent arknet library with ark's message `net` defines start, shutdown, send and Update operations. Application messages retain their existing headers. RUDP uses arknet's compatible ARQ wire format with FEC disabled by default. -See [network builds and tests](../networking.md), [ark::net](https://github.com/OpenArkStudio/ark/blob/main/plugins/net/include/ark/net/net.hpp) and the [arknet protocol guides](https://openarkstudio.github.io/arknet/features/). +See [network builds and tests](../networking.md), [ark::net](https://github.com/OpenArkStudio/ark/blob/main/include/ark/net/net.hpp) and the [arknet protocol guides](https://openarkstudio.github.io/arknet/features/). ## Initial application receive buffer diff --git a/docs/reference/network_CN.md b/docs/reference/network_CN.md index 7202b7b3..d49cbe54 100644 --- a/docs/reference/network_CN.md +++ b/docs/reference/network_CN.md @@ -11,7 +11,7 @@ `net` 定义启动、关闭、发送和 Update 操作。业务消息继续使用现有消息头;RUDP 使用 arknet 兼容的 ARQ 报文格式,默认关闭 FEC。 -构建命令和验证范围见[网络构建与测试](../networking_CN.md)。接口见 [ark::net](https://github.com/OpenArkStudio/ark/blob/main/plugins/net/include/ark/net/net.hpp),协议能力见 [arknet 指南](https://openarkstudio.github.io/arknet/zh/features/)。 +构建命令和验证范围见[网络构建与测试](../networking_CN.md)。接口见 [ark::net](https://github.com/OpenArkStudio/ark/blob/main/include/ark/net/net.hpp),协议能力见 [arknet 指南](https://openarkstudio.github.io/arknet/zh/features/)。 ## 应用层初始收包缓冲 diff --git a/plugins/bus/include/ark/bus/bus_module.hpp b/include/ark/bus/bus_module.hpp similarity index 100% rename from plugins/bus/include/ark/bus/bus_module.hpp rename to include/ark/bus/bus_module.hpp diff --git a/plugins/bus/include/ark/bus/bus_module_impl.hpp b/include/ark/bus/bus_module_impl.hpp similarity index 100% rename from plugins/bus/include/ark/bus/bus_module_impl.hpp rename to include/ark/bus/bus_module_impl.hpp diff --git a/plugins/bus/include/ark/bus/bus_plugin.hpp b/include/ark/bus/bus_plugin.hpp similarity index 100% rename from plugins/bus/include/ark/bus/bus_plugin.hpp rename to include/ark/bus/bus_plugin.hpp diff --git a/plugins/bus/include/ark/bus/msg_module.hpp b/include/ark/bus/msg_module.hpp similarity index 100% rename from plugins/bus/include/ark/bus/msg_module.hpp rename to include/ark/bus/msg_module.hpp diff --git a/plugins/bus/include/ark/bus/msg_module_impl.hpp b/include/ark/bus/msg_module_impl.hpp similarity index 100% rename from plugins/bus/include/ark/bus/msg_module_impl.hpp rename to include/ark/bus/msg_module_impl.hpp diff --git a/plugins/consul/include/ark/consul/consul_module.hpp b/include/ark/consul/consul_module.hpp similarity index 100% rename from plugins/consul/include/ark/consul/consul_module.hpp rename to include/ark/consul/consul_module.hpp diff --git a/plugins/consul/include/ark/consul/consul_module_impl.hpp b/include/ark/consul/consul_module_impl.hpp similarity index 100% rename from plugins/consul/include/ark/consul/consul_module_impl.hpp rename to include/ark/consul/consul_module_impl.hpp diff --git a/plugins/consul/include/ark/consul/consul_plugin.hpp b/include/ark/consul/consul_plugin.hpp similarity index 100% rename from plugins/consul/include/ark/consul/consul_plugin.hpp rename to include/ark/consul/consul_plugin.hpp diff --git a/plugins/etcd_client/include/ark/etcd_client/etcd_client.hpp b/include/ark/etcd_client/etcd_client.hpp similarity index 100% rename from plugins/etcd_client/include/ark/etcd_client/etcd_client.hpp rename to include/ark/etcd_client/etcd_client.hpp diff --git a/plugins/etcd_client/include/ark/etcd_client/etcd_client_impl.hpp b/include/ark/etcd_client/etcd_client_impl.hpp similarity index 100% rename from plugins/etcd_client/include/ark/etcd_client/etcd_client_impl.hpp rename to include/ark/etcd_client/etcd_client_impl.hpp diff --git a/plugins/etcd_client/include/ark/etcd_client/etcd_client_module.hpp b/include/ark/etcd_client/etcd_client_module.hpp similarity index 100% rename from plugins/etcd_client/include/ark/etcd_client/etcd_client_module.hpp rename to include/ark/etcd_client/etcd_client_module.hpp diff --git a/plugins/etcd_client/include/ark/etcd_client/etcd_client_module_impl.hpp b/include/ark/etcd_client/etcd_client_module_impl.hpp similarity index 100% rename from plugins/etcd_client/include/ark/etcd_client/etcd_client_module_impl.hpp rename to include/ark/etcd_client/etcd_client_module_impl.hpp diff --git a/plugins/etcd_client/include/ark/etcd_client/etcd_client_plugin.hpp b/include/ark/etcd_client/etcd_client_plugin.hpp similarity index 100% rename from plugins/etcd_client/include/ark/etcd_client/etcd_client_plugin.hpp rename to include/ark/etcd_client/etcd_client_plugin.hpp diff --git a/plugins/http/include/ark/http/http_plugin.hpp b/include/ark/http/http_plugin.hpp similarity index 100% rename from plugins/http/include/ark/http/http_plugin.hpp rename to include/ark/http/http_plugin.hpp diff --git a/plugins/http/include/ark/http/http_server_module.hpp b/include/ark/http/http_server_module.hpp similarity index 100% rename from plugins/http/include/ark/http/http_server_module.hpp rename to include/ark/http/http_server_module.hpp diff --git a/plugins/http/include/ark/http/http_server_module_impl.hpp b/include/ark/http/http_server_module_impl.hpp similarity index 100% rename from plugins/http/include/ark/http/http_server_module_impl.hpp rename to include/ark/http/http_server_module_impl.hpp diff --git a/plugins/kafka/include/ark/kafka/kafka.hpp b/include/ark/kafka/kafka.hpp similarity index 100% rename from plugins/kafka/include/ark/kafka/kafka.hpp rename to include/ark/kafka/kafka.hpp diff --git a/plugins/kafka/include/ark/kafka/kafka_module.hpp b/include/ark/kafka/kafka_module.hpp similarity index 100% rename from plugins/kafka/include/ark/kafka/kafka_module.hpp rename to include/ark/kafka/kafka_module.hpp diff --git a/plugins/kafka/include/ark/kafka/kafka_module_impl.hpp b/include/ark/kafka/kafka_module_impl.hpp similarity index 100% rename from plugins/kafka/include/ark/kafka/kafka_module_impl.hpp rename to include/ark/kafka/kafka_module_impl.hpp diff --git a/plugins/kafka/include/ark/kafka/kafka_plugin.hpp b/include/ark/kafka/kafka_plugin.hpp similarity index 100% rename from plugins/kafka/include/ark/kafka/kafka_plugin.hpp rename to include/ark/kafka/kafka_plugin.hpp diff --git a/plugins/kernel/include/ark/kernel/class_call_back_manager.hpp b/include/ark/kernel/class_call_back_manager.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/class_call_back_manager.hpp rename to include/ark/kernel/class_call_back_manager.hpp diff --git a/plugins/kernel/include/ark/kernel/class_meta.hpp b/include/ark/kernel/class_meta.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/class_meta.hpp rename to include/ark/kernel/class_meta.hpp diff --git a/plugins/kernel/include/ark/kernel/class_meta_manager.hpp b/include/ark/kernel/class_meta_manager.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/class_meta_manager.hpp rename to include/ark/kernel/class_meta_manager.hpp diff --git a/plugins/kernel/include/ark/kernel/class_meta_module.hpp b/include/ark/kernel/class_meta_module.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/class_meta_module.hpp rename to include/ark/kernel/class_meta_module.hpp diff --git a/plugins/kernel/include/ark/kernel/class_meta_module_impl.hpp b/include/ark/kernel/class_meta_module_impl.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/class_meta_module_impl.hpp rename to include/ark/kernel/class_meta_module_impl.hpp diff --git a/plugins/kernel/include/ark/kernel/component.hpp b/include/ark/kernel/component.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/component.hpp rename to include/ark/kernel/component.hpp diff --git a/plugins/kernel/include/ark/kernel/config_module.hpp b/include/ark/kernel/config_module.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/config_module.hpp rename to include/ark/kernel/config_module.hpp diff --git a/plugins/kernel/include/ark/kernel/config_module_impl.hpp b/include/ark/kernel/config_module_impl.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/config_module_impl.hpp rename to include/ark/kernel/config_module_impl.hpp diff --git a/plugins/kernel/include/ark/kernel/container.hpp b/include/ark/kernel/container.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/container.hpp rename to include/ark/kernel/container.hpp diff --git a/plugins/kernel/include/ark/kernel/container_impl.hpp b/include/ark/kernel/container_impl.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/container_impl.hpp rename to include/ark/kernel/container_impl.hpp diff --git a/plugins/kernel/include/ark/kernel/container_manager.hpp b/include/ark/kernel/container_manager.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/container_manager.hpp rename to include/ark/kernel/container_manager.hpp diff --git a/plugins/kernel/include/ark/kernel/container_manager_impl.hpp b/include/ark/kernel/container_manager_impl.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/container_manager_impl.hpp rename to include/ark/kernel/container_manager_impl.hpp diff --git a/plugins/kernel/include/ark/kernel/container_meta.hpp b/include/ark/kernel/container_meta.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/container_meta.hpp rename to include/ark/kernel/container_meta.hpp diff --git a/plugins/kernel/include/ark/kernel/data.hpp b/include/ark/kernel/data.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/data.hpp rename to include/ark/kernel/data.hpp diff --git a/plugins/kernel/include/ark/kernel/data_impl.hpp b/include/ark/kernel/data_impl.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/data_impl.hpp rename to include/ark/kernel/data_impl.hpp diff --git a/plugins/kernel/include/ark/kernel/data_list.hpp b/include/ark/kernel/data_list.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/data_list.hpp rename to include/ark/kernel/data_list.hpp diff --git a/plugins/kernel/include/ark/kernel/data_list_impl.hpp b/include/ark/kernel/data_list_impl.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/data_list_impl.hpp rename to include/ark/kernel/data_list_impl.hpp diff --git a/plugins/kernel/include/ark/kernel/entity.hpp b/include/ark/kernel/entity.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/entity.hpp rename to include/ark/kernel/entity.hpp diff --git a/plugins/kernel/include/ark/kernel/entity_impl.hpp b/include/ark/kernel/entity_impl.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/entity_impl.hpp rename to include/ark/kernel/entity_impl.hpp diff --git a/plugins/kernel/include/ark/kernel/event_manager.hpp b/include/ark/kernel/event_manager.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/event_manager.hpp rename to include/ark/kernel/event_manager.hpp diff --git a/plugins/kernel/include/ark/kernel/event_manager_impl.hpp b/include/ark/kernel/event_manager_impl.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/event_manager_impl.hpp rename to include/ark/kernel/event_manager_impl.hpp diff --git a/plugins/kernel/include/ark/kernel/kernel_module.hpp b/include/ark/kernel/kernel_module.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/kernel_module.hpp rename to include/ark/kernel/kernel_module.hpp diff --git a/plugins/kernel/include/ark/kernel/kernel_module_impl.hpp b/include/ark/kernel/kernel_module_impl.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/kernel_module_impl.hpp rename to include/ark/kernel/kernel_module_impl.hpp diff --git a/plugins/kernel/include/ark/kernel/kernel_plugin.hpp b/include/ark/kernel/kernel_plugin.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/kernel_plugin.hpp rename to include/ark/kernel/kernel_plugin.hpp diff --git a/plugins/kernel/include/ark/kernel/map_module.hpp b/include/ark/kernel/map_module.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/map_module.hpp rename to include/ark/kernel/map_module.hpp diff --git a/plugins/kernel/include/ark/kernel/map_module_impl.hpp b/include/ark/kernel/map_module_impl.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/map_module_impl.hpp rename to include/ark/kernel/map_module_impl.hpp diff --git a/plugins/kernel/include/ark/kernel/node.hpp b/include/ark/kernel/node.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/node.hpp rename to include/ark/kernel/node.hpp diff --git a/plugins/kernel/include/ark/kernel/node_impl.hpp b/include/ark/kernel/node_impl.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/node_impl.hpp rename to include/ark/kernel/node_impl.hpp diff --git a/plugins/kernel/include/ark/kernel/node_manager.hpp b/include/ark/kernel/node_manager.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/node_manager.hpp rename to include/ark/kernel/node_manager.hpp diff --git a/plugins/kernel/include/ark/kernel/node_meta.hpp b/include/ark/kernel/node_meta.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/node_meta.hpp rename to include/ark/kernel/node_meta.hpp diff --git a/plugins/kernel/include/ark/kernel/row.hpp b/include/ark/kernel/row.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/row.hpp rename to include/ark/kernel/row.hpp diff --git a/plugins/kernel/include/ark/kernel/static_entity.hpp b/include/ark/kernel/static_entity.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/static_entity.hpp rename to include/ark/kernel/static_entity.hpp diff --git a/plugins/kernel/include/ark/kernel/static_entity_impl.hpp b/include/ark/kernel/static_entity_impl.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/static_entity_impl.hpp rename to include/ark/kernel/static_entity_impl.hpp diff --git a/plugins/kernel/include/ark/kernel/static_entity_manager.hpp b/include/ark/kernel/static_entity_manager.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/static_entity_manager.hpp rename to include/ark/kernel/static_entity_manager.hpp diff --git a/plugins/kernel/include/ark/kernel/table.hpp b/include/ark/kernel/table.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/table.hpp rename to include/ark/kernel/table.hpp diff --git a/plugins/kernel/include/ark/kernel/table_impl.hpp b/include/ark/kernel/table_impl.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/table_impl.hpp rename to include/ark/kernel/table_impl.hpp diff --git a/plugins/kernel/include/ark/kernel/table_manager.hpp b/include/ark/kernel/table_manager.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/table_manager.hpp rename to include/ark/kernel/table_manager.hpp diff --git a/plugins/kernel/include/ark/kernel/table_meta.hpp b/include/ark/kernel/table_meta.hpp similarity index 100% rename from plugins/kernel/include/ark/kernel/table_meta.hpp rename to include/ark/kernel/table_meta.hpp diff --git a/plugins/mysql/include/ark/mysql/mysql_driver_manager_module.hpp b/include/ark/mysql/mysql_driver_manager_module.hpp similarity index 100% rename from plugins/mysql/include/ark/mysql/mysql_driver_manager_module.hpp rename to include/ark/mysql/mysql_driver_manager_module.hpp diff --git a/plugins/mysql/include/ark/mysql/mysql_driver_manager_module_impl.hpp b/include/ark/mysql/mysql_driver_manager_module_impl.hpp similarity index 100% rename from plugins/mysql/include/ark/mysql/mysql_driver_manager_module_impl.hpp rename to include/ark/mysql/mysql_driver_manager_module_impl.hpp diff --git a/plugins/mysql/include/ark/mysql/mysql_driver_module.hpp b/include/ark/mysql/mysql_driver_module.hpp similarity index 100% rename from plugins/mysql/include/ark/mysql/mysql_driver_module.hpp rename to include/ark/mysql/mysql_driver_module.hpp diff --git a/plugins/mysql/include/ark/mysql/mysql_driver_module_impl.hpp b/include/ark/mysql/mysql_driver_module_impl.hpp similarity index 100% rename from plugins/mysql/include/ark/mysql/mysql_driver_module_impl.hpp rename to include/ark/mysql/mysql_driver_module_impl.hpp diff --git a/plugins/mysql/include/ark/mysql/mysql_module.hpp b/include/ark/mysql/mysql_module.hpp similarity index 100% rename from plugins/mysql/include/ark/mysql/mysql_module.hpp rename to include/ark/mysql/mysql_module.hpp diff --git a/plugins/mysql/include/ark/mysql/mysql_module_impl.hpp b/include/ark/mysql/mysql_module_impl.hpp similarity index 100% rename from plugins/mysql/include/ark/mysql/mysql_module_impl.hpp rename to include/ark/mysql/mysql_module_impl.hpp diff --git a/plugins/mysql/include/ark/mysql/mysql_plugin.hpp b/include/ark/mysql/mysql_plugin.hpp similarity index 100% rename from plugins/mysql/include/ark/mysql/mysql_plugin.hpp rename to include/ark/mysql/mysql_plugin.hpp diff --git a/plugins/net/include/ark/net/http_client_module.hpp b/include/ark/net/http_client_module.hpp similarity index 100% rename from plugins/net/include/ark/net/http_client_module.hpp rename to include/ark/net/http_client_module.hpp diff --git a/plugins/net/include/ark/net/http_client_module_impl.hpp b/include/ark/net/http_client_module_impl.hpp similarity index 100% rename from plugins/net/include/ark/net/http_client_module_impl.hpp rename to include/ark/net/http_client_module_impl.hpp diff --git a/plugins/net/include/ark/net/http_server.hpp b/include/ark/net/http_server.hpp similarity index 100% rename from plugins/net/include/ark/net/http_server.hpp rename to include/ark/net/http_server.hpp diff --git a/plugins/net/include/ark/net/net.hpp b/include/ark/net/net.hpp similarity index 100% rename from plugins/net/include/ark/net/net.hpp rename to include/ark/net/net.hpp diff --git a/plugins/net/include/ark/net/net_client_service.hpp b/include/ark/net/net_client_service.hpp similarity index 100% rename from plugins/net/include/ark/net/net_client_service.hpp rename to include/ark/net/net_client_service.hpp diff --git a/plugins/net/include/ark/net/net_client_service_impl.hpp b/include/ark/net/net_client_service_impl.hpp similarity index 100% rename from plugins/net/include/ark/net/net_client_service_impl.hpp rename to include/ark/net/net_client_service_impl.hpp diff --git a/plugins/net/include/ark/net/net_define.hpp b/include/ark/net/net_define.hpp similarity index 100% rename from plugins/net/include/ark/net/net_define.hpp rename to include/ark/net/net_define.hpp diff --git a/plugins/net/include/ark/net/net_event.hpp b/include/ark/net/net_event.hpp similarity index 100% rename from plugins/net/include/ark/net/net_event.hpp rename to include/ark/net/net_event.hpp diff --git a/plugins/net/include/ark/net/net_msg.hpp b/include/ark/net/net_msg.hpp similarity index 100% rename from plugins/net/include/ark/net/net_msg.hpp rename to include/ark/net/net_msg.hpp diff --git a/plugins/net/include/ark/net/net_plugin.hpp b/include/ark/net/net_plugin.hpp similarity index 100% rename from plugins/net/include/ark/net/net_plugin.hpp rename to include/ark/net/net_plugin.hpp diff --git a/plugins/net/include/ark/net/net_server_service.hpp b/include/ark/net/net_server_service.hpp similarity index 100% rename from plugins/net/include/ark/net/net_server_service.hpp rename to include/ark/net/net_server_service.hpp diff --git a/plugins/net/include/ark/net/net_server_service_impl.hpp b/include/ark/net/net_server_service_impl.hpp similarity index 100% rename from plugins/net/include/ark/net/net_server_service_impl.hpp rename to include/ark/net/net_server_service_impl.hpp diff --git a/plugins/net/include/ark/net/net_service_manager_module.hpp b/include/ark/net/net_service_manager_module.hpp similarity index 100% rename from plugins/net/include/ark/net/net_service_manager_module.hpp rename to include/ark/net/net_service_manager_module.hpp diff --git a/plugins/net/include/ark/net/net_service_manager_module_impl.hpp b/include/ark/net/net_service_manager_module_impl.hpp similarity index 100% rename from plugins/net/include/ark/net/net_service_manager_module_impl.hpp rename to include/ark/net/net_service_manager_module_impl.hpp diff --git a/plugins/net/include/ark/net/net_session.hpp b/include/ark/net/net_session.hpp similarity index 100% rename from plugins/net/include/ark/net/net_session.hpp rename to include/ark/net/net_session.hpp diff --git a/plugins/net/include/ark/net/rudp_client.hpp b/include/ark/net/rudp_client.hpp similarity index 100% rename from plugins/net/include/ark/net/rudp_client.hpp rename to include/ark/net/rudp_client.hpp diff --git a/plugins/net/include/ark/net/rudp_server.hpp b/include/ark/net/rudp_server.hpp similarity index 100% rename from plugins/net/include/ark/net/rudp_server.hpp rename to include/ark/net/rudp_server.hpp diff --git a/plugins/net/include/ark/net/tcp_client.hpp b/include/ark/net/tcp_client.hpp similarity index 100% rename from plugins/net/include/ark/net/tcp_client.hpp rename to include/ark/net/tcp_client.hpp diff --git a/plugins/net/include/ark/net/tcp_server.hpp b/include/ark/net/tcp_server.hpp similarity index 100% rename from plugins/net/include/ark/net/tcp_server.hpp rename to include/ark/net/tcp_server.hpp diff --git a/plugins/net/include/ark/net/websocket_client.hpp b/include/ark/net/websocket_client.hpp similarity index 100% rename from plugins/net/include/ark/net/websocket_client.hpp rename to include/ark/net/websocket_client.hpp diff --git a/plugins/net/include/ark/net/websocket_server.hpp b/include/ark/net/websocket_server.hpp similarity index 100% rename from plugins/net/include/ark/net/websocket_server.hpp rename to include/ark/net/websocket_server.hpp diff --git a/plugins/osssdk/include/ark/osssdk/oss_sdk_module.hpp b/include/ark/osssdk/oss_sdk_module.hpp similarity index 100% rename from plugins/osssdk/include/ark/osssdk/oss_sdk_module.hpp rename to include/ark/osssdk/oss_sdk_module.hpp diff --git a/plugins/osssdk/include/ark/osssdk/oss_sdk_module_impl.hpp b/include/ark/osssdk/oss_sdk_module_impl.hpp similarity index 100% rename from plugins/osssdk/include/ark/osssdk/oss_sdk_module_impl.hpp rename to include/ark/osssdk/oss_sdk_module_impl.hpp diff --git a/plugins/osssdk/include/ark/osssdk/oss_sdk_plugin.hpp b/include/ark/osssdk/oss_sdk_plugin.hpp similarity index 100% rename from plugins/osssdk/include/ark/osssdk/oss_sdk_plugin.hpp rename to include/ark/osssdk/oss_sdk_plugin.hpp diff --git a/plugins/physic/include/ark/physic/physic_config_module.hpp b/include/ark/physic/physic_config_module.hpp similarity index 100% rename from plugins/physic/include/ark/physic/physic_config_module.hpp rename to include/ark/physic/physic_config_module.hpp diff --git a/plugins/physic/include/ark/physic/physic_config_module_impl.hpp b/include/ark/physic/physic_config_module_impl.hpp similarity index 100% rename from plugins/physic/include/ark/physic/physic_config_module_impl.hpp rename to include/ark/physic/physic_config_module_impl.hpp diff --git a/plugins/physic/include/ark/physic/physic_define.hpp b/include/ark/physic/physic_define.hpp similarity index 100% rename from plugins/physic/include/ark/physic/physic_define.hpp rename to include/ark/physic/physic_define.hpp diff --git a/plugins/physic/include/ark/physic/physic_module.hpp b/include/ark/physic/physic_module.hpp similarity index 100% rename from plugins/physic/include/ark/physic/physic_module.hpp rename to include/ark/physic/physic_module.hpp diff --git a/plugins/physic/include/ark/physic/physic_module_impl.hpp b/include/ark/physic/physic_module_impl.hpp similarity index 100% rename from plugins/physic/include/ark/physic/physic_module_impl.hpp rename to include/ark/physic/physic_module_impl.hpp diff --git a/plugins/physic/include/ark/physic/physic_plugin.hpp b/include/ark/physic/physic_plugin.hpp similarity index 100% rename from plugins/physic/include/ark/physic/physic_plugin.hpp rename to include/ark/physic/physic_plugin.hpp diff --git a/plugins/physic/include/ark/physic/wave_front.hpp b/include/ark/physic/wave_front.hpp similarity index 100% rename from plugins/physic/include/ark/physic/wave_front.hpp rename to include/ark/physic/wave_front.hpp diff --git a/plugins/redis/include/ark/redis/redis_manager.hpp b/include/ark/redis/redis_manager.hpp similarity index 100% rename from plugins/redis/include/ark/redis/redis_manager.hpp rename to include/ark/redis/redis_manager.hpp diff --git a/plugins/redis/include/ark/redis/redis_module.hpp b/include/ark/redis/redis_module.hpp similarity index 100% rename from plugins/redis/include/ark/redis/redis_module.hpp rename to include/ark/redis/redis_module.hpp diff --git a/plugins/redis/include/ark/redis/redis_module_impl.hpp b/include/ark/redis/redis_module_impl.hpp similarity index 100% rename from plugins/redis/include/ark/redis/redis_module_impl.hpp rename to include/ark/redis/redis_module_impl.hpp diff --git a/plugins/redis/include/ark/redis/redis_plugin.hpp b/include/ark/redis/redis_plugin.hpp similarity index 100% rename from plugins/redis/include/ark/redis/redis_plugin.hpp rename to include/ark/redis/redis_plugin.hpp diff --git a/plugins/utility/include/ark/utility/compress_module.hpp b/include/ark/utility/compress_module.hpp similarity index 100% rename from plugins/utility/include/ark/utility/compress_module.hpp rename to include/ark/utility/compress_module.hpp diff --git a/plugins/utility/include/ark/utility/compress_module_impl.hpp b/include/ark/utility/compress_module_impl.hpp similarity index 100% rename from plugins/utility/include/ark/utility/compress_module_impl.hpp rename to include/ark/utility/compress_module_impl.hpp diff --git a/plugins/utility/include/ark/utility/ctpl.h b/include/ark/utility/ctpl.h similarity index 100% rename from plugins/utility/include/ark/utility/ctpl.h rename to include/ark/utility/ctpl.h diff --git a/plugins/utility/include/ark/utility/ctpl_stl.h b/include/ark/utility/ctpl_stl.h similarity index 100% rename from plugins/utility/include/ark/utility/ctpl_stl.h rename to include/ark/utility/ctpl_stl.h diff --git a/plugins/utility/include/ark/utility/guid_module.hpp b/include/ark/utility/guid_module.hpp similarity index 100% rename from plugins/utility/include/ark/utility/guid_module.hpp rename to include/ark/utility/guid_module.hpp diff --git a/plugins/utility/include/ark/utility/guid_module_impl.hpp b/include/ark/utility/guid_module_impl.hpp similarity index 100% rename from plugins/utility/include/ark/utility/guid_module_impl.hpp rename to include/ark/utility/guid_module_impl.hpp diff --git a/plugins/utility/include/ark/utility/schedule_module.hpp b/include/ark/utility/schedule_module.hpp similarity index 100% rename from plugins/utility/include/ark/utility/schedule_module.hpp rename to include/ark/utility/schedule_module.hpp diff --git a/plugins/utility/include/ark/utility/schedule_module_impl.hpp b/include/ark/utility/schedule_module_impl.hpp similarity index 100% rename from plugins/utility/include/ark/utility/schedule_module_impl.hpp rename to include/ark/utility/schedule_module_impl.hpp diff --git a/plugins/utility/include/ark/utility/scheduler.hpp b/include/ark/utility/scheduler.hpp similarity index 100% rename from plugins/utility/include/ark/utility/scheduler.hpp rename to include/ark/utility/scheduler.hpp diff --git a/plugins/utility/include/ark/utility/timer_module.hpp b/include/ark/utility/timer_module.hpp similarity index 100% rename from plugins/utility/include/ark/utility/timer_module.hpp rename to include/ark/utility/timer_module.hpp diff --git a/plugins/utility/include/ark/utility/timer_module_impl.hpp b/include/ark/utility/timer_module_impl.hpp similarity index 100% rename from plugins/utility/include/ark/utility/timer_module_impl.hpp rename to include/ark/utility/timer_module_impl.hpp diff --git a/plugins/utility/include/ark/utility/utility_plugin.hpp b/include/ark/utility/utility_plugin.hpp similarity index 100% rename from plugins/utility/include/ark/utility/utility_plugin.hpp rename to include/ark/utility/utility_plugin.hpp diff --git a/scripts/style_files.sh b/scripts/style_files.sh index 42248390..dc1898ac 100644 --- a/scripts/style_files.sh +++ b/scripts/style_files.sh @@ -7,14 +7,14 @@ ark_style_root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd -P) ark_style_files() { git -C "$ark_style_root" ls-files -z --cached --others --exclude-standard -- \ - include plugins src examples tests build/resource/photon/proto | + include src examples tests benchmarks build/resource/photon/proto | while IFS= read -r -d '' style_file; do case "$style_file" in tests/catch.hpp|tests/network/doctest.h|\ - plugins/physic/include/ark/physic/wave_front.hpp|\ - plugins/physic/include/ark/physic/wave_front.cpp|\ - plugins/utility/include/ark/utility/ctpl.h|\ - plugins/utility/include/ark/utility/ctpl_stl.h) continue ;; + include/ark/physic/wave_front.hpp|\ + src/plugins/physic/wave_front.cpp|\ + include/ark/utility/ctpl.h|\ + include/ark/utility/ctpl_stl.h) continue ;; esac case "$style_file" in *.hpp|*.h|*.cpp|*.cc|*.c|*.proto) diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt new file mode 100644 index 00000000..6fa64af6 --- /dev/null +++ b/src/core/CMakeLists.txt @@ -0,0 +1,18 @@ +add_library(ark_core INTERFACE) +add_library(ark::core ALIAS ark_core) +target_compile_features(ark_core INTERFACE cxx_std_20) +target_include_directories(ark_core INTERFACE + "$" + "$" + "$" + "${RAPIDXML_INCLUDE_DIR}") +target_link_libraries(ark_core INTERFACE arknet::arknet ${CMAKE_DL_LIBS}) +target_compile_definitions(ark_core INTERFACE + $<$:ARK_USE_GUID_32> + $<$:ARK_DOCKER_ALPINE> + $<$:OPEN_FILE_LOG> + $<$:_DEBUG>) +if(MSVC) + target_compile_options(ark_core INTERFACE /bigobj /utf-8 /Zc:__cplusplus) + target_compile_definitions(ark_core INTERFACE WIN32_LEAN_AND_MEAN _WIN32_WINNT=0x0601) +endif() diff --git a/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt similarity index 84% rename from plugins/CMakeLists.txt rename to src/plugins/CMakeLists.txt index ab0d98c8..1dfde932 100755 --- a/plugins/CMakeLists.txt +++ b/src/plugins/CMakeLists.txt @@ -4,7 +4,11 @@ function(BUILD_PLUGIN_MACRO project_name) set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) endif() file(GLOB_RECURSE PLUGIN_SRC CONFIGURE_DEPENDS *.h *.hpp *.cpp *.cc *.c) - add_library(${project_name} SHARED ${PLUGIN_SRC}) + get_filename_component(plugin_name "${CMAKE_CURRENT_SOURCE_DIR}" NAME) + file(GLOB_RECURSE PLUGIN_HEADERS CONFIGURE_DEPENDS + "${ROOT_DIR}/include/ark/${plugin_name}/*.h" + "${ROOT_DIR}/include/ark/${plugin_name}/*.hpp") + add_library(${project_name} SHARED ${PLUGIN_SRC} ${PLUGIN_HEADERS}) set_target_properties(${project_name} PROPERTIES PREFIX "" FOLDER "plugins" @@ -25,7 +29,7 @@ foreach(plugin_dir IN LISTS plugin_entries) add_library(ark_${plugin_name}_api INTERFACE) add_library(ark::${plugin_name} ALIAS ark_${plugin_name}_api) target_include_directories(ark_${plugin_name}_api INTERFACE - "$") + "$") target_link_libraries(ark_${plugin_name}_api INTERFACE ark::core) target_link_libraries(ark_sdk INTERFACE ark::${plugin_name}) endif() @@ -33,7 +37,7 @@ endforeach() # Propagate API header dependencies, separately from runtime library selection. foreach(plugin_name IN LISTS ark_plugin_names) - file(GLOB_RECURSE api_headers CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${plugin_name}/include/*.hpp" "${CMAKE_CURRENT_SOURCE_DIR}/${plugin_name}/include/*.h") + file(GLOB_RECURSE api_headers CONFIGURE_DEPENDS "${ROOT_DIR}/include/ark/${plugin_name}/*.hpp" "${ROOT_DIR}/include/ark/${plugin_name}/*.h") set(api_dependencies) foreach(header IN LISTS api_headers) file(STRINGS "${header}" includes REGEX "#[ \t]*include[ \t]*[<\"]ark/") diff --git a/plugins/README.md b/src/plugins/README.md similarity index 73% rename from plugins/README.md rename to src/plugins/README.md index 16e1f1a5..4ba03c0c 100755 --- a/plugins/README.md +++ b/src/plugins/README.md @@ -2,7 +2,7 @@ [简体中文](README_CN.md) -Each official plugin has a separate directory, public headers in `include/ark//`, implementation files in `src/` and an optional CMake target. Business plugins belong in application repositories. +Official plugin headers live in the repository's `include/ark//`; implementations and per-plugin CMake files live in `src/plugins//`. Each plugin has an optional CMake target. Business plugins belong in application repositories. | Plugin | Responsibility | Default build | | --- | --- | --- | @@ -19,4 +19,4 @@ Each official plugin has a separate directory, public headers in `include/ark/` to select a plugin. Optional integrations require their own dependencies and verification. MySQL and Redis clients will be implemented in arknet before replacing the legacy plugin calls. Lua and Actor integrations remain planned work. -See [project layout and SDK](../docs/project-layout.md) for targets and build commands. +See [project layout and SDK](../../docs/project-layout.md) for targets and build commands. diff --git a/plugins/README_CN.md b/src/plugins/README_CN.md similarity index 73% rename from plugins/README_CN.md rename to src/plugins/README_CN.md index 1ce987c6..7cc16830 100644 --- a/plugins/README_CN.md +++ b/src/plugins/README_CN.md @@ -2,7 +2,7 @@ [English](README.md) -每个官方插件有独立目录,公开头文件放在 `include/ark/<名称>/`,实现放在 `src/`,通过单独的 CMake target 按需构建。业务插件放在应用仓库。 +官方插件的公开头文件统一放在仓库的 `include/ark/<名称>/`,实现与插件 CMake 文件放在 `src/plugins/<名称>/`,通过单独的 CMake target 按需构建。业务插件放在应用仓库。 | 插件 | 职责 | 默认构建 | | --- | --- | --- | @@ -19,4 +19,4 @@ 使用 `ARK_BUILD_PLUGIN_<名称大写>` 选择插件。可选插件需要各自的依赖和验证。MySQL、Redis 客户端先在 arknet 中自主实现,再替换旧插件调用;Lua、Actor 的整合仍在规划中。 -CMake target 和构建命令见[项目布局与 SDK](../docs/project-layout_CN.md)。 +CMake target 和构建命令见[项目布局与 SDK](../../docs/project-layout_CN.md)。 diff --git a/plugins/bus/CMakeLists.txt b/src/plugins/bus/CMakeLists.txt similarity index 100% rename from plugins/bus/CMakeLists.txt rename to src/plugins/bus/CMakeLists.txt diff --git a/plugins/bus/src/bus_module_impl.cpp b/src/plugins/bus/bus_module_impl.cpp similarity index 100% rename from plugins/bus/src/bus_module_impl.cpp rename to src/plugins/bus/bus_module_impl.cpp diff --git a/plugins/bus/src/bus_plugin.cpp b/src/plugins/bus/bus_plugin.cpp similarity index 100% rename from plugins/bus/src/bus_plugin.cpp rename to src/plugins/bus/bus_plugin.cpp diff --git a/plugins/bus/src/msg_module_impl.cpp b/src/plugins/bus/msg_module_impl.cpp similarity index 100% rename from plugins/bus/src/msg_module_impl.cpp rename to src/plugins/bus/msg_module_impl.cpp diff --git a/plugins/consul/CMakeLists.txt b/src/plugins/consul/CMakeLists.txt similarity index 100% rename from plugins/consul/CMakeLists.txt rename to src/plugins/consul/CMakeLists.txt diff --git a/plugins/consul/src/consul_module_impl.cpp b/src/plugins/consul/consul_module_impl.cpp similarity index 100% rename from plugins/consul/src/consul_module_impl.cpp rename to src/plugins/consul/consul_module_impl.cpp diff --git a/plugins/consul/src/consul_plugin.cpp b/src/plugins/consul/consul_plugin.cpp similarity index 100% rename from plugins/consul/src/consul_plugin.cpp rename to src/plugins/consul/consul_plugin.cpp diff --git a/plugins/detail/database_awaitable.hpp b/src/plugins/detail/database_awaitable.hpp similarity index 100% rename from plugins/detail/database_awaitable.hpp rename to src/plugins/detail/database_awaitable.hpp diff --git a/plugins/detail/database_completion_queue.hpp b/src/plugins/detail/database_completion_queue.hpp similarity index 100% rename from plugins/detail/database_completion_queue.hpp rename to src/plugins/detail/database_completion_queue.hpp diff --git a/plugins/detail/database_request_control.hpp b/src/plugins/detail/database_request_control.hpp similarity index 100% rename from plugins/detail/database_request_control.hpp rename to src/plugins/detail/database_request_control.hpp diff --git a/plugins/detail/module_task_group.hpp b/src/plugins/detail/module_task_group.hpp similarity index 100% rename from plugins/detail/module_task_group.hpp rename to src/plugins/detail/module_task_group.hpp diff --git a/plugins/etcd_client/CMakeLists.txt b/src/plugins/etcd_client/CMakeLists.txt similarity index 100% rename from plugins/etcd_client/CMakeLists.txt rename to src/plugins/etcd_client/CMakeLists.txt diff --git a/plugins/etcd_client/src/etcd_client_impl.cpp b/src/plugins/etcd_client/etcd_client_impl.cpp similarity index 100% rename from plugins/etcd_client/src/etcd_client_impl.cpp rename to src/plugins/etcd_client/etcd_client_impl.cpp diff --git a/plugins/etcd_client/src/etcd_client_module_impl.cpp b/src/plugins/etcd_client/etcd_client_module_impl.cpp similarity index 100% rename from plugins/etcd_client/src/etcd_client_module_impl.cpp rename to src/plugins/etcd_client/etcd_client_module_impl.cpp diff --git a/plugins/etcd_client/src/etcd_client_plugin.cpp b/src/plugins/etcd_client/etcd_client_plugin.cpp similarity index 100% rename from plugins/etcd_client/src/etcd_client_plugin.cpp rename to src/plugins/etcd_client/etcd_client_plugin.cpp diff --git a/plugins/http/CMakeLists.txt b/src/plugins/http/CMakeLists.txt similarity index 100% rename from plugins/http/CMakeLists.txt rename to src/plugins/http/CMakeLists.txt diff --git a/plugins/http/src/http_plugin.cpp b/src/plugins/http/http_plugin.cpp similarity index 100% rename from plugins/http/src/http_plugin.cpp rename to src/plugins/http/http_plugin.cpp diff --git a/plugins/http/src/http_server_module_impl.cpp b/src/plugins/http/http_server_module_impl.cpp similarity index 100% rename from plugins/http/src/http_server_module_impl.cpp rename to src/plugins/http/http_server_module_impl.cpp diff --git a/plugins/kafka/CMakeLists.txt b/src/plugins/kafka/CMakeLists.txt similarity index 100% rename from plugins/kafka/CMakeLists.txt rename to src/plugins/kafka/CMakeLists.txt diff --git a/plugins/kafka/src/kafka_module_impl.cpp b/src/plugins/kafka/kafka_module_impl.cpp similarity index 100% rename from plugins/kafka/src/kafka_module_impl.cpp rename to src/plugins/kafka/kafka_module_impl.cpp diff --git a/plugins/kafka/src/kafka_plugin.cpp b/src/plugins/kafka/kafka_plugin.cpp similarity index 100% rename from plugins/kafka/src/kafka_plugin.cpp rename to src/plugins/kafka/kafka_plugin.cpp diff --git a/plugins/kernel/CMakeLists.txt b/src/plugins/kernel/CMakeLists.txt similarity index 100% rename from plugins/kernel/CMakeLists.txt rename to src/plugins/kernel/CMakeLists.txt diff --git a/plugins/kernel/src/class_call_back_manager.cpp b/src/plugins/kernel/class_call_back_manager.cpp similarity index 100% rename from plugins/kernel/src/class_call_back_manager.cpp rename to src/plugins/kernel/class_call_back_manager.cpp diff --git a/plugins/kernel/src/class_meta.cpp b/src/plugins/kernel/class_meta.cpp similarity index 100% rename from plugins/kernel/src/class_meta.cpp rename to src/plugins/kernel/class_meta.cpp diff --git a/plugins/kernel/src/class_meta_module_impl.cpp b/src/plugins/kernel/class_meta_module_impl.cpp similarity index 100% rename from plugins/kernel/src/class_meta_module_impl.cpp rename to src/plugins/kernel/class_meta_module_impl.cpp diff --git a/plugins/kernel/src/config_module_impl.cpp b/src/plugins/kernel/config_module_impl.cpp similarity index 100% rename from plugins/kernel/src/config_module_impl.cpp rename to src/plugins/kernel/config_module_impl.cpp diff --git a/plugins/kernel/src/container_impl.cpp b/src/plugins/kernel/container_impl.cpp similarity index 100% rename from plugins/kernel/src/container_impl.cpp rename to src/plugins/kernel/container_impl.cpp diff --git a/plugins/kernel/src/container_manager_impl.cpp b/src/plugins/kernel/container_manager_impl.cpp similarity index 100% rename from plugins/kernel/src/container_manager_impl.cpp rename to src/plugins/kernel/container_manager_impl.cpp diff --git a/plugins/kernel/src/detail/resource_path.hpp b/src/plugins/kernel/detail/resource_path.hpp similarity index 100% rename from plugins/kernel/src/detail/resource_path.hpp rename to src/plugins/kernel/detail/resource_path.hpp diff --git a/plugins/kernel/src/entity_impl.cpp b/src/plugins/kernel/entity_impl.cpp similarity index 100% rename from plugins/kernel/src/entity_impl.cpp rename to src/plugins/kernel/entity_impl.cpp diff --git a/plugins/kernel/src/kernel_module_impl.cpp b/src/plugins/kernel/kernel_module_impl.cpp similarity index 100% rename from plugins/kernel/src/kernel_module_impl.cpp rename to src/plugins/kernel/kernel_module_impl.cpp diff --git a/plugins/kernel/src/kernel_plugin.cpp b/src/plugins/kernel/kernel_plugin.cpp similarity index 100% rename from plugins/kernel/src/kernel_plugin.cpp rename to src/plugins/kernel/kernel_plugin.cpp diff --git a/plugins/kernel/src/map_module_impl.cpp b/src/plugins/kernel/map_module_impl.cpp similarity index 100% rename from plugins/kernel/src/map_module_impl.cpp rename to src/plugins/kernel/map_module_impl.cpp diff --git a/plugins/kernel/src/node_manager.cpp b/src/plugins/kernel/node_manager.cpp similarity index 100% rename from plugins/kernel/src/node_manager.cpp rename to src/plugins/kernel/node_manager.cpp diff --git a/plugins/kernel/src/row.cpp b/src/plugins/kernel/row.cpp similarity index 100% rename from plugins/kernel/src/row.cpp rename to src/plugins/kernel/row.cpp diff --git a/plugins/kernel/src/static_entity_impl.cpp b/src/plugins/kernel/static_entity_impl.cpp similarity index 100% rename from plugins/kernel/src/static_entity_impl.cpp rename to src/plugins/kernel/static_entity_impl.cpp diff --git a/plugins/kernel/src/table_impl.cpp b/src/plugins/kernel/table_impl.cpp similarity index 100% rename from plugins/kernel/src/table_impl.cpp rename to src/plugins/kernel/table_impl.cpp diff --git a/plugins/kernel/src/table_meta.cpp b/src/plugins/kernel/table_meta.cpp similarity index 100% rename from plugins/kernel/src/table_meta.cpp rename to src/plugins/kernel/table_meta.cpp diff --git a/plugins/mysql/CMakeLists.txt b/src/plugins/mysql/CMakeLists.txt similarity index 100% rename from plugins/mysql/CMakeLists.txt rename to src/plugins/mysql/CMakeLists.txt diff --git a/plugins/mysql/src/detail/mysql_service.hpp b/src/plugins/mysql/detail/mysql_service.hpp similarity index 100% rename from plugins/mysql/src/detail/mysql_service.hpp rename to src/plugins/mysql/detail/mysql_service.hpp diff --git a/plugins/mysql/src/mysql_driver_manager_module_impl.cpp b/src/plugins/mysql/mysql_driver_manager_module_impl.cpp similarity index 100% rename from plugins/mysql/src/mysql_driver_manager_module_impl.cpp rename to src/plugins/mysql/mysql_driver_manager_module_impl.cpp diff --git a/plugins/mysql/src/mysql_driver_module_impl.cpp b/src/plugins/mysql/mysql_driver_module_impl.cpp similarity index 100% rename from plugins/mysql/src/mysql_driver_module_impl.cpp rename to src/plugins/mysql/mysql_driver_module_impl.cpp diff --git a/plugins/mysql/src/mysql_module_impl.cpp b/src/plugins/mysql/mysql_module_impl.cpp similarity index 100% rename from plugins/mysql/src/mysql_module_impl.cpp rename to src/plugins/mysql/mysql_module_impl.cpp diff --git a/plugins/mysql/src/mysql_plugin.cpp b/src/plugins/mysql/mysql_plugin.cpp similarity index 100% rename from plugins/mysql/src/mysql_plugin.cpp rename to src/plugins/mysql/mysql_plugin.cpp diff --git a/plugins/net/CMakeLists.txt b/src/plugins/net/CMakeLists.txt similarity index 100% rename from plugins/net/CMakeLists.txt rename to src/plugins/net/CMakeLists.txt diff --git a/plugins/net/src/http_client_module_impl.cpp b/src/plugins/net/http_client_module_impl.cpp similarity index 100% rename from plugins/net/src/http_client_module_impl.cpp rename to src/plugins/net/http_client_module_impl.cpp diff --git a/plugins/net/src/http_server.cpp b/src/plugins/net/http_server.cpp similarity index 100% rename from plugins/net/src/http_server.cpp rename to src/plugins/net/http_server.cpp diff --git a/plugins/net/src/net_client_service_impl.cpp b/src/plugins/net/net_client_service_impl.cpp similarity index 100% rename from plugins/net/src/net_client_service_impl.cpp rename to src/plugins/net/net_client_service_impl.cpp diff --git a/plugins/net/src/net_plugin.cpp b/src/plugins/net/net_plugin.cpp similarity index 100% rename from plugins/net/src/net_plugin.cpp rename to src/plugins/net/net_plugin.cpp diff --git a/plugins/net/src/net_server_service_impl.cpp b/src/plugins/net/net_server_service_impl.cpp similarity index 100% rename from plugins/net/src/net_server_service_impl.cpp rename to src/plugins/net/net_server_service_impl.cpp diff --git a/plugins/net/src/net_service_manager_module_impl.cpp b/src/plugins/net/net_service_manager_module_impl.cpp similarity index 100% rename from plugins/net/src/net_service_manager_module_impl.cpp rename to src/plugins/net/net_service_manager_module_impl.cpp diff --git a/plugins/net/src/rudp_client.cpp b/src/plugins/net/rudp_client.cpp similarity index 100% rename from plugins/net/src/rudp_client.cpp rename to src/plugins/net/rudp_client.cpp diff --git a/plugins/net/src/rudp_server.cpp b/src/plugins/net/rudp_server.cpp similarity index 100% rename from plugins/net/src/rudp_server.cpp rename to src/plugins/net/rudp_server.cpp diff --git a/plugins/net/src/tcp_client.cpp b/src/plugins/net/tcp_client.cpp similarity index 100% rename from plugins/net/src/tcp_client.cpp rename to src/plugins/net/tcp_client.cpp diff --git a/plugins/net/src/tcp_server.cpp b/src/plugins/net/tcp_server.cpp similarity index 100% rename from plugins/net/src/tcp_server.cpp rename to src/plugins/net/tcp_server.cpp diff --git a/plugins/net/src/websocket_client.cpp b/src/plugins/net/websocket_client.cpp similarity index 100% rename from plugins/net/src/websocket_client.cpp rename to src/plugins/net/websocket_client.cpp diff --git a/plugins/net/src/websocket_server.cpp b/src/plugins/net/websocket_server.cpp similarity index 100% rename from plugins/net/src/websocket_server.cpp rename to src/plugins/net/websocket_server.cpp diff --git a/plugins/osssdk/CMakeLists.txt b/src/plugins/osssdk/CMakeLists.txt similarity index 100% rename from plugins/osssdk/CMakeLists.txt rename to src/plugins/osssdk/CMakeLists.txt diff --git a/plugins/osssdk/src/oss_sdk_module_impl.cpp b/src/plugins/osssdk/oss_sdk_module_impl.cpp similarity index 100% rename from plugins/osssdk/src/oss_sdk_module_impl.cpp rename to src/plugins/osssdk/oss_sdk_module_impl.cpp diff --git a/plugins/osssdk/src/oss_sdk_plugin.cpp b/src/plugins/osssdk/oss_sdk_plugin.cpp similarity index 100% rename from plugins/osssdk/src/oss_sdk_plugin.cpp rename to src/plugins/osssdk/oss_sdk_plugin.cpp diff --git a/plugins/physic/CMakeLists.txt b/src/plugins/physic/CMakeLists.txt similarity index 100% rename from plugins/physic/CMakeLists.txt rename to src/plugins/physic/CMakeLists.txt diff --git a/plugins/physic/src/physic_config_module_impl.cpp b/src/plugins/physic/physic_config_module_impl.cpp similarity index 100% rename from plugins/physic/src/physic_config_module_impl.cpp rename to src/plugins/physic/physic_config_module_impl.cpp diff --git a/plugins/physic/src/physic_module_impl.cpp b/src/plugins/physic/physic_module_impl.cpp similarity index 100% rename from plugins/physic/src/physic_module_impl.cpp rename to src/plugins/physic/physic_module_impl.cpp diff --git a/plugins/physic/src/physic_plugin.cpp b/src/plugins/physic/physic_plugin.cpp similarity index 100% rename from plugins/physic/src/physic_plugin.cpp rename to src/plugins/physic/physic_plugin.cpp diff --git a/plugins/physic/include/ark/physic/wave_front.cpp b/src/plugins/physic/wave_front.cpp similarity index 100% rename from plugins/physic/include/ark/physic/wave_front.cpp rename to src/plugins/physic/wave_front.cpp diff --git a/plugins/redis/CMakeLists.txt b/src/plugins/redis/CMakeLists.txt similarity index 100% rename from plugins/redis/CMakeLists.txt rename to src/plugins/redis/CMakeLists.txt diff --git a/plugins/redis/src/detail/redis_service.hpp b/src/plugins/redis/detail/redis_service.hpp similarity index 100% rename from plugins/redis/src/detail/redis_service.hpp rename to src/plugins/redis/detail/redis_service.hpp diff --git a/plugins/redis/src/redis_module_impl.cpp b/src/plugins/redis/redis_module_impl.cpp similarity index 100% rename from plugins/redis/src/redis_module_impl.cpp rename to src/plugins/redis/redis_module_impl.cpp diff --git a/plugins/redis/src/redis_plugin.cpp b/src/plugins/redis/redis_plugin.cpp similarity index 100% rename from plugins/redis/src/redis_plugin.cpp rename to src/plugins/redis/redis_plugin.cpp diff --git a/plugins/utility/CMakeLists.txt b/src/plugins/utility/CMakeLists.txt similarity index 100% rename from plugins/utility/CMakeLists.txt rename to src/plugins/utility/CMakeLists.txt diff --git a/plugins/utility/src/compress_module_impl.cpp b/src/plugins/utility/compress_module_impl.cpp similarity index 100% rename from plugins/utility/src/compress_module_impl.cpp rename to src/plugins/utility/compress_module_impl.cpp diff --git a/plugins/utility/src/guid_module_impl.cpp b/src/plugins/utility/guid_module_impl.cpp similarity index 100% rename from plugins/utility/src/guid_module_impl.cpp rename to src/plugins/utility/guid_module_impl.cpp diff --git a/plugins/utility/src/schedule_module_impl.cpp b/src/plugins/utility/schedule_module_impl.cpp similarity index 100% rename from plugins/utility/src/schedule_module_impl.cpp rename to src/plugins/utility/schedule_module_impl.cpp diff --git a/plugins/utility/src/timer_module_impl.cpp b/src/plugins/utility/timer_module_impl.cpp similarity index 100% rename from plugins/utility/src/timer_module_impl.cpp rename to src/plugins/utility/timer_module_impl.cpp diff --git a/plugins/utility/src/utility_plugin.cpp b/src/plugins/utility/utility_plugin.cpp similarity index 100% rename from plugins/utility/src/utility_plugin.cpp rename to src/plugins/utility/utility_plugin.cpp diff --git a/tests/core/CMakeLists.txt b/tests/core/CMakeLists.txt index 2e75a07a..87a04736 100644 --- a/tests/core/CMakeLists.txt +++ b/tests/core/CMakeLists.txt @@ -38,20 +38,20 @@ add_dependencies(check-core check-xml) if(ARK_BUILD_PROTO) add_executable(ark_kernel_initialization_tests main.cpp module_initialization.cpp entity_config_copy.cpp - ../../plugins/kernel/src/class_call_back_manager.cpp - ../../plugins/kernel/src/class_meta.cpp - ../../plugins/kernel/src/class_meta_module_impl.cpp - ../../plugins/kernel/src/config_module_impl.cpp - ../../plugins/kernel/src/container_impl.cpp - ../../plugins/kernel/src/container_manager_impl.cpp - ../../plugins/kernel/src/entity_impl.cpp - ../../plugins/kernel/src/kernel_module_impl.cpp - ../../plugins/kernel/src/map_module_impl.cpp - ../../plugins/kernel/src/node_manager.cpp - ../../plugins/kernel/src/row.cpp - ../../plugins/kernel/src/static_entity_impl.cpp - ../../plugins/kernel/src/table_impl.cpp - ../../plugins/kernel/src/table_meta.cpp) + ../../src/plugins/kernel/class_call_back_manager.cpp + ../../src/plugins/kernel/class_meta.cpp + ../../src/plugins/kernel/class_meta_module_impl.cpp + ../../src/plugins/kernel/config_module_impl.cpp + ../../src/plugins/kernel/container_impl.cpp + ../../src/plugins/kernel/container_manager_impl.cpp + ../../src/plugins/kernel/entity_impl.cpp + ../../src/plugins/kernel/kernel_module_impl.cpp + ../../src/plugins/kernel/map_module_impl.cpp + ../../src/plugins/kernel/node_manager.cpp + ../../src/plugins/kernel/row.cpp + ../../src/plugins/kernel/static_entity_impl.cpp + ../../src/plugins/kernel/table_impl.cpp + ../../src/plugins/kernel/table_meta.cpp) target_link_libraries(ark_kernel_initialization_tests PRIVATE ark::kernel ark::utility ark::proto) add_custom_target(check-kernel-initialization COMMAND $ diff --git a/tests/database/CMakeLists.txt b/tests/database/CMakeLists.txt index a811aabb..d2d7afb7 100644 --- a/tests/database/CMakeLists.txt +++ b/tests/database/CMakeLists.txt @@ -6,7 +6,7 @@ endif() function(ark_database_test target) add_executable(${target} ${ARGN}) - target_include_directories(${target} PRIVATE "${ROOT_DIR}/plugins") + target_include_directories(${target} PRIVATE "${ROOT_DIR}/src/plugins") target_link_libraries(${target} PRIVATE Threads::Threads) set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") foreach(config DEBUG RELEASE RELWITHDEBINFO MINSIZEREL) diff --git a/tests/database/COROUTINES.md b/tests/database/COROUTINES.md index 60eb948e..0afcdfe1 100644 --- a/tests/database/COROUTINES.md +++ b/tests/database/COROUTINES.md @@ -4,7 +4,7 @@ This opt-in prototype uses Asio `awaitable`, `async_initiate` and `co_spawn`. It does not add a coroutine promise implementation or change the published -database modules. The new helpers stay private in `plugins/detail/`. +database modules. The new helpers stay private in `src/plugins/detail/`. ## Execution and ownership diff --git a/tests/database/COROUTINES_CN.md b/tests/database/COROUTINES_CN.md index dfad0b7b..832cf348 100644 --- a/tests/database/COROUTINES_CN.md +++ b/tests/database/COROUTINES_CN.md @@ -4,7 +4,7 @@ 这个可选开发原型复用 Asio 的 `awaitable`、`async_initiate` 和 `co_spawn`, 不新增协程 promise 实现,也不修改已发布的数据库模块接口。 -辅助实现保留在私有目录 `plugins/detail/` 中。 +辅助实现保留在私有目录 `src/plugins/detail/` 中。 ## 执行与所有权 diff --git a/tests/database/MYSQL.md b/tests/database/MYSQL.md index 57f41577..c71e093d 100644 --- a/tests/database/MYSQL.md +++ b/tests/database/MYSQL.md @@ -2,7 +2,7 @@ [English](MYSQL.md) | [简体中文](MYSQL_CN.md) -This opt-in executable exercises `plugins/mysql/src/detail/mysql_service.hpp` +This opt-in executable exercises `src/plugins/mysql/detail/mysql_service.hpp` against a real MySQL server. The service directly uses the native arknet pool; it does not change the published MySQL module API, register a runtime module or replace the legacy driver yet. The internal result type is not a plugin SDK diff --git a/tests/database/MYSQL_CN.md b/tests/database/MYSQL_CN.md index ad96ef92..381e7419 100644 --- a/tests/database/MYSQL_CN.md +++ b/tests/database/MYSQL_CN.md @@ -3,7 +3,7 @@ [English](MYSQL.md) | [简体中文](MYSQL_CN.md) 该可选程序通过真实 MySQL 服务验证 -`plugins/mysql/src/detail/mysql_service.hpp`。私有服务直接使用 arknet 原生连接池, +`src/plugins/mysql/detail/mysql_service.hpp`。私有服务直接使用 arknet 原生连接池, 尚未修改公开 MySQL 模块接口、注册运行时模块或替换旧驱动。内部结果类型不属于已确定的插件 SDK。 ## 构建 diff --git a/tests/database/mysql_service.cpp b/tests/database/mysql_service.cpp index 00c9dae9..d6a7ce18 100644 --- a/tests/database/mysql_service.cpp +++ b/tests/database/mysql_service.cpp @@ -15,7 +15,7 @@ #include #include -#include "mysql/src/detail/mysql_service.hpp" +#include "mysql/detail/mysql_service.hpp" using namespace std::chrono_literals; using ark::detail::mysql_service; diff --git a/tests/database/redis_service.cpp b/tests/database/redis_service.cpp index b5a2fc84..066ea1c6 100644 --- a/tests/database/redis_service.cpp +++ b/tests/database/redis_service.cpp @@ -7,7 +7,7 @@ #include #include -#include "redis/src/detail/redis_service.hpp" +#include "redis/detail/redis_service.hpp" using namespace std::chrono_literals; diff --git a/tests/database/redis_stop_capture.cpp b/tests/database/redis_stop_capture.cpp index 6f9b77d2..dba4ca00 100644 --- a/tests/database/redis_stop_capture.cpp +++ b/tests/database/redis_stop_capture.cpp @@ -4,7 +4,7 @@ #include #include -#include "redis/src/detail/redis_service.hpp" +#include "redis/detail/redis_service.hpp" namespace { diff --git a/tests/database/service_awaitable.cpp b/tests/database/service_awaitable.cpp index 5bcd2bfa..d9f9253b 100644 --- a/tests/database/service_awaitable.cpp +++ b/tests/database/service_awaitable.cpp @@ -16,10 +16,10 @@ #include #include "detail/database_awaitable.hpp" -#include "redis/src/detail/redis_service.hpp" +#include "redis/detail/redis_service.hpp" #if defined(ARKNET_ENABLE_SSL) -#include "mysql/src/detail/mysql_service.hpp" +#include "mysql/detail/mysql_service.hpp" #endif namespace { diff --git a/tests/network/CMakeLists.txt b/tests/network/CMakeLists.txt index f52a02bf..87cc4ba1 100644 --- a/tests/network/CMakeLists.txt +++ b/tests/network/CMakeLists.txt @@ -6,15 +6,15 @@ add_executable(ark_network_tests tcp_websocket.cpp rudp.cpp http.cpp - ../../plugins/net/src/tcp_client.cpp - ../../plugins/net/src/tcp_server.cpp - ../../plugins/net/src/websocket_client.cpp - ../../plugins/net/src/websocket_server.cpp - ../../plugins/net/src/rudp_client.cpp - ../../plugins/net/src/rudp_server.cpp - ../../plugins/net/src/http_client_module_impl.cpp - ../../plugins/net/src/http_server.cpp - ../../plugins/http/src/http_server_module_impl.cpp) + ../../src/plugins/net/tcp_client.cpp + ../../src/plugins/net/tcp_server.cpp + ../../src/plugins/net/websocket_client.cpp + ../../src/plugins/net/websocket_server.cpp + ../../src/plugins/net/rudp_client.cpp + ../../src/plugins/net/rudp_server.cpp + ../../src/plugins/net/http_client_module_impl.cpp + ../../src/plugins/net/http_server.cpp + ../../src/plugins/http/http_server_module_impl.cpp) add_custom_target(check-network COMMAND $ DEPENDS ark_network_tests From f884ada845a37218ac76bed44908e7d9aa21e64a Mon Sep 17 00:00:00 2001 From: nick Date: Fri, 16 Oct 2026 17:10:26 +0800 Subject: [PATCH 2/3] fix(style): preserve third-party exclusions after directory moves --- .clang-format-ignore | 8 ++++---- .clang-tidy | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.clang-format-ignore b/.clang-format-ignore index e267bc30..dc9e7290 100644 --- a/.clang-format-ignore +++ b/.clang-format-ignore @@ -3,7 +3,7 @@ src/proto/cpp/ include/ark/meta_define.hpp tests/catch.hpp tests/network/doctest.h -plugins/utility/include/ark/utility/ctpl.h -plugins/utility/include/ark/utility/ctpl_stl.h -plugins/physic/include/ark/physic/wave_front.cpp -plugins/physic/include/ark/physic/wave_front.hpp +include/ark/utility/ctpl.h +include/ark/utility/ctpl_stl.h +src/plugins/physic/wave_front.cpp +include/ark/physic/wave_front.hpp diff --git a/.clang-tidy b/.clang-tidy index ad7c9f9a..06a21533 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -1,8 +1,8 @@ --- Checks: '-*,readability-identifier-naming,modernize-use-nullptr,modernize-use-override' WarningsAsErrors: '' -HeaderFilterRegex: '(^|/)(include/ark/|plugins/[^/]+/(include/ark/|src/)|src/|examples/|tests/)' -ExcludeHeaderFilterRegex: '(\.pb\.(h|cc)$|(^|/)(catch\.hpp|doctest\.h)$|(^|/)(plugins/utility/include/ark/utility/ctpl(_stl)?\.h|plugins/physic/include/ark/physic/wave_front\.(hpp|cpp))$)' +HeaderFilterRegex: '(^|/)(include/ark/|src/|examples/|tests/|benchmarks/)' +ExcludeHeaderFilterRegex: '(\.pb\.(h|cc)$|(^|/)(catch\.hpp|doctest\.h)$|(^|/)(include/ark/utility/ctpl(_stl)?\.h|include/ark/physic/wave_front\.hpp|src/plugins/physic/wave_front\.cpp)$)' FormatStyle: file CheckOptions: readability-identifier-naming.CheckAnonFieldInParent: true From 3378c18fb080e680bcbaa8ea3ab09724e065a459 Mon Sep 17 00:00:00 2001 From: nick Date: Fri, 16 Oct 2026 17:14:45 +0800 Subject: [PATCH 3/3] docs(layout): update remaining public header and network paths --- docs/concepts/architecture.md | 2 +- docs/concepts/architecture_CN.md | 2 +- docs/guides/data-structures.md | 2 +- docs/guides/data-structures_CN.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/concepts/architecture.md b/docs/concepts/architecture.md index c959a290..dcff108c 100644 --- a/docs/concepts/architecture.md +++ b/docs/concepts/architecture.md @@ -5,7 +5,7 @@ | Application | Select plugins and process configuration | [Application sources](https://github.com/OpenArkStudio/ark/tree/main/src/app) | | Plugin | Install and uninstall a group of modules | [ark::sample1_plugin](https://github.com/OpenArkStudio/ark/blob/main/examples/sample1/sample1_plugin.cpp) | | Module | Provide an interface and participate in the application lifecycle | [ark::module](https://github.com/OpenArkStudio/ark/blob/main/include/ark/module.hpp) | -| Networking | Integrate arknet endpoints and queue application messages/events | [Network plugin](https://github.com/OpenArkStudio/ark/tree/main/plugins/net) | +| Networking | Integrate arknet endpoints and queue application messages/events | [Network plugin](https://github.com/OpenArkStudio/ark/tree/main/src/plugins/net) | The module interface offers `init`, `post_init`, `check_config`, `pre_update`, `update`, `pre_shut` and `shut`. Keep initialization and shutdown responsibilities paired. Stop callback sources before releasing modules they reference. diff --git a/docs/concepts/architecture_CN.md b/docs/concepts/architecture_CN.md index 898bdf55..5be6ad38 100644 --- a/docs/concepts/architecture_CN.md +++ b/docs/concepts/architecture_CN.md @@ -5,7 +5,7 @@ | 应用 | 选择插件与进程配置 | [应用源码](https://github.com/OpenArkStudio/ark/tree/main/src/app) | | 插件 | 安装与卸载一组模块 | [ark::sample1_plugin](https://github.com/OpenArkStudio/ark/blob/main/examples/sample1/sample1_plugin.cpp) | | 模块 | 提供接口,参与应用生命周期 | [ark::module](https://github.com/OpenArkStudio/ark/blob/main/include/ark/module.hpp) | -| 网络 | 使用 arknet 端点,排队分发业务消息与事件 | [网络插件](https://github.com/OpenArkStudio/ark/tree/main/plugins/net) | +| 网络 | 使用 arknet 端点,排队分发业务消息与事件 | [网络插件](https://github.com/OpenArkStudio/ark/tree/main/src/plugins/net) | 模块接口提供 `init`、`post_init`、`check_config`、`pre_update`、`update`、`pre_shut` 和 `shut`。初始化与关闭职责应成对处理;释放模块前,先停止引用它的回调来源。 diff --git a/docs/guides/data-structures.md b/docs/guides/data-structures.md index a4cc613b..f16b9158 100644 --- a/docs/guides/data-structures.md +++ b/docs/guides/data-structures.md @@ -1,6 +1,6 @@ # Data structures and metadata -The separation of definitions and values remains: metadata describes field names, indices, types and flags; entities retain definitions and values. Public types now live in `plugins/kernel/include/ark/kernel/` with the snake_case names below. See [configuration tools](tools.md) for generated C++ and [Protobuf](../reference/protobuf.md) for protocol messages. +The separation of definitions and values remains: metadata describes field names, indices, types and flags; entities retain definitions and values. Public types now live in `include/ark/kernel/` with the snake_case names below. See [configuration tools](tools.md) for generated C++ and [Protobuf](../reference/protobuf.md) for protocol messages. | Historical name | Current name | | --- | --- | diff --git a/docs/guides/data-structures_CN.md b/docs/guides/data-structures_CN.md index e5d4f229..b8f23c7e 100644 --- a/docs/guides/data-structures_CN.md +++ b/docs/guides/data-structures_CN.md @@ -1,6 +1,6 @@ # 数据结构与元数据 -数据与定义分离的设计仍保留:元数据描述字段名、下标、类型和标志,实体保存引用及其值。当前公开类型位于 `plugins/kernel/include/ark/kernel/`,使用以下 snake_case 名称。配置工具生成 C++ 的流程见[配置工具](tools_CN.md),协议消息见 [Protobuf](../reference/protobuf_CN.md)。 +数据与定义分离的设计仍保留:元数据描述字段名、下标、类型和标志,实体保存引用及其值。当前公开类型位于 `include/ark/kernel/`,使用以下 snake_case 名称。配置工具生成 C++ 的流程见[配置工具](tools_CN.md),协议消息见 [Protobuf](../reference/protobuf_CN.md)。 | 旧名称 | 当前名称 | | --- | --- |