use std::sync::Arc;
pub trait ServiceMonitoring {
type Error;
#[allow(async_fn_in_trait)]
async fn start_monitoring(&self) -> Result<(), Self::Error>;
}
pub trait ModelMonitoring {
type Error;
#[allow(async_fn_in_trait)]
async fn start_monitoring(self: Arc<Self>) -> Result<(), Self::Error>;
}
pub trait Static {
type Error;
type Context<'a>;
#[allow(async_fn_in_trait)]
async fn get(context: Self::Context<'_>) -> Result<Self, Self::Error>
where
Self: Sized;
}
pub trait Reactive {
type Error;
type Context<'a>;
type LiveContext<'a>;
#[allow(async_fn_in_trait)]
async fn get(context: Self::Context<'_>) -> Result<Self, Self::Error>
where
Self: Sized;
#[allow(async_fn_in_trait)]
async fn get_live(context: Self::LiveContext<'_>) -> Result<Arc<Self>, Self::Error>
where
Self: Sized;
}
#[doc = include_str!("../README.md")]
#[cfg(doctest)]
pub struct ReadmeDocTests;