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