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