summaryrefslogtreecommitdiff
path: root/crates/vcs_actions/src/connection
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2025-10-13 14:17:51 +0800
committer魏曹先生 <1992414357@qq.com>2025-10-13 14:17:51 +0800
commitacf0804b5f9bdc2796d847919a8ae20103be600a (patch)
tree96eb75fad0d12e4a6c0c8e2148b555899602b540 /crates/vcs_actions/src/connection
parent67fb8ec01b351c6c9fd2af321166bb92250b1218 (diff)
feat: implement asynchronous action call system
- Add async callback support with proper argument passing - Implement remote action invocation via TCP connection - Add hello_world_action example demonstrating async communication - Improve ActionPool with type-safe async processing - Update client registry for remote action handling - Enhance ActionContext with better instance management - Support both local and remote action execution modes
Diffstat (limited to 'crates/vcs_actions/src/connection')
-rw-r--r--crates/vcs_actions/src/connection/action_service.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/crates/vcs_actions/src/connection/action_service.rs b/crates/vcs_actions/src/connection/action_service.rs
index 9ea5957..0a49953 100644
--- a/crates/vcs_actions/src/connection/action_service.rs
+++ b/crates/vcs_actions/src/connection/action_service.rs
@@ -136,7 +136,10 @@ async fn process_connection(stream: TcpStream, vault: Arc<Vault>, action_pool: A
};
// Build context
- let ctx = ActionContext::remote().insert_instance(instance);
+ let ctx: ActionContext = ActionContext::remote().insert_instance(instance);
+
+ // Insert vault into context
+ let ctx = ctx.insert_arc(vault);
// Process action
let Ok(_result_json) = action_pool