Mountain/RPC/EchoAction/ExtensionRouter.rs
1//! Pairs an extension identifier with the host that owns it. Used by
2//! `EchoActionServer` to scope priority/telemetry when more than one
3//! extension host is active (Grove + Cocoon).
4
5use std::sync::Arc;
6
7use crate::RPC::EchoAction::ExtensionHostRegistry;
8
9pub struct Struct {
10 Registry:Arc<ExtensionHostRegistry::Struct>,
11}
12
13impl Struct {
14 pub fn new(Registry:Arc<ExtensionHostRegistry::Struct>) -> Self { Self { Registry } }
15
16 pub async fn HostFor(&self, ExtensionIdentifier:&str) -> Option<String> {
17 self.Registry.Resolve(ExtensionIdentifier).await
18 }
19}