pub struct VisibilitySessionGuard { /* private fields */ }Expand description
Progressive disclosure through component visibility control. RAII guard that automatically cleans up session visibility state when dropped.
This is the recommended way to manage session visibility lifetime. Create a guard at the start of a session and let it clean up automatically when the session ends.
§Example
ⓘ
use turbomcp_server::visibility::VisibilityLayer;
async fn handle_connection<H: McpHandler>(layer: &VisibilityLayer<H>, session_id: &str) {
let _guard = layer.session_guard(session_id);
// Enable admin tools for this session
layer.enable_for_session(session_id, &["admin".to_string()]);
// ... handle requests ...
} // State automatically cleaned up hereImplementations§
Source§impl VisibilitySessionGuard
impl VisibilitySessionGuard
Sourcepub fn session_id(&self) -> &str
pub fn session_id(&self) -> &str
Get the session ID this guard is managing.
Trait Implementations§
Source§impl Debug for VisibilitySessionGuard
impl Debug for VisibilitySessionGuard
Auto Trait Implementations§
impl Freeze for VisibilitySessionGuard
impl !RefUnwindSafe for VisibilitySessionGuard
impl Send for VisibilitySessionGuard
impl Sync for VisibilitySessionGuard
impl Unpin for VisibilitySessionGuard
impl UnsafeUnpin for VisibilitySessionGuard
impl !UnwindSafe for VisibilitySessionGuard
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more