pub struct AllowAllAccessControl;Expand description
No restriction at all — every renderer visible, every key can target anything, every connection accepted. The default for a consumer that doesn’t need access control (or hasn’t wired anything up yet).
Trait Implementations§
Source§impl AccessControl for AllowAllAccessControl
impl AccessControl for AllowAllAccessControl
Authorizes a renderer’s WebSocket connection before it’s upgraded.
query is the connect URL’s raw query string, unparsed and
unvalidated by Core — an implementation decides what it means (a
zone name + token for ZoneAccessControl, ignored entirely here).Source§fn on_renderer_connected<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_name: &'life1 str,
_query: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_renderer_connected<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_name: &'life1 str,
_query: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called once a renderer’s
hello names it, after authorize_connect
already approved the connection — a chance to record durable identity
for tracking or failover purposes. Best-effort: Core doesn’t drop the
connection if this does nothing.Source§fn filter_visible<'life0, 'life1, 'async_trait>(
&'life0 self,
_api_key: &'life1 str,
renderers: Vec<RendererInfo>,
) -> Pin<Box<dyn Future<Output = Vec<RendererInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn filter_visible<'life0, 'life1, 'async_trait>(
&'life0 self,
_api_key: &'life1 str,
renderers: Vec<RendererInfo>,
) -> Pin<Box<dyn Future<Output = Vec<RendererInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Filters
renderers down to what api_key may see — GET /renderers.Source§fn can_target<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_api_key: &'life1 str,
_renderer_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn can_target<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_api_key: &'life1 str,
_renderer_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Whether
api_key may target the renderer named renderer_name —
checked before every renderer-scoped call (get/target/load/play/
stop/update/customAction/clear). Keyed on the stable name, not the
per-session id.Source§fn filter_graphics<'life0, 'life1, 'async_trait>(
&'life0 self,
_api_key: &'life1 str,
graphics: Vec<Graphic>,
) -> Pin<Box<dyn Future<Output = Vec<Graphic>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn filter_graphics<'life0, 'life1, 'async_trait>(
&'life0 self,
_api_key: &'life1 str,
graphics: Vec<Graphic>,
) -> Pin<Box<dyn Future<Output = Vec<Graphic>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Filters
graphics down to what api_key may see — GET /graphics.
Default implementation returns all graphics (no filtering), maintaining
backward compatibility and the original “unscoped by design” behavior.Source§fn can_load_graphic<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_api_key: &'life1 str,
_renderer_name: &'life2 str,
_graphic_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn can_load_graphic<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_api_key: &'life1 str,
_renderer_name: &'life2 str,
_graphic_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Whether
api_key may load graphic_id onto renderer_name — checked
before load() sends a LoadMessage. Default implementation allows all
loads (maintaining backward compatibility), but implementations can
enforce zone/renderer-specific graphic restrictions.Auto Trait Implementations§
impl Freeze for AllowAllAccessControl
impl RefUnwindSafe for AllowAllAccessControl
impl Send for AllowAllAccessControl
impl Sync for AllowAllAccessControl
impl Unpin for AllowAllAccessControl
impl UnsafeUnpin for AllowAllAccessControl
impl UnwindSafe for AllowAllAccessControl
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