Mountain/RPC/
echo_action.rs

1//! # EchoAction RPC Service
2//!
3//! EchoAction service for bidirectional actions and extension host routing.
4
5use std::{collections::HashMap, sync::Arc};
6
7use tokio::sync::RwLock;
8
9/// EchoAction server implementation
10pub struct EchoActionServer {
11	// Placeholder fields
12}
13
14impl EchoActionServer {
15	pub fn new() -> Self { Self {} }
16}
17
18/// Extension host registry
19pub struct ExtensionHostRegistry {
20	hosts:Arc<RwLock<HashMap<String, String>>>,
21}
22
23impl ExtensionHostRegistry {
24	pub fn new() -> Self { Self { hosts:Arc::new(RwLock::new(HashMap::new())) } }
25}
26
27impl Default for ExtensionHostRegistry {
28	fn default() -> Self { Self::new() }
29}
30
31/// Extension router
32pub struct ExtensionRouter {
33	registry:Arc<ExtensionHostRegistry>,
34}
35
36impl ExtensionRouter {
37	pub fn new(registry:Arc<ExtensionHostRegistry>) -> Self { Self { registry } }
38}