pub trait StaticServiceManager: Service {
// Required method
fn static_handler() -> Arc<Mutex<ServiceManager<Self>>>;
// Provided methods
fn init(init: Self::Init) { ... }
fn start() { ... }
fn stop() { ... }
fn status() -> Status { ... }
fn send(message: Self::Input) { ... }
fn listen<F>(transform: F) -> ListenerHandle
where F: Fn(Self::Output) -> bool + Send + 'static { ... }
fn forward<X, F>(sender: Sender<X>, transform: F) -> ListenerHandle
where X: Send + 'static,
F: Fn(Self::Output) -> X + Send + 'static { ... }
fn filtered_forward<X, F>(sender: Sender<X>, transform: F) -> ListenerHandle
where X: Send + 'static,
F: Fn(Self::Output) -> Option<X> + Send + 'static { ... }
fn listen_local<F>(transform: F) -> LocalListenerHandle
where F: Fn(Self::Output) -> bool + 'static { ... }
fn forward_local<X, F>(
sender: Sender<X>,
transform: F,
) -> LocalListenerHandle
where X: 'static,
F: Fn(Self::Output) -> X + 'static { ... }
fn filtered_forward_local<X, F>(
sender: Sender<X>,
transform: F,
) -> LocalListenerHandle
where X: 'static,
F: Fn(Self::Output) -> Option<X> + 'static { ... }
}Expand description
Static handler for a Service
This allows global (multi thread) access to a service
Required Methods§
fn static_handler() -> Arc<Mutex<ServiceManager<Self>>>
Provided Methods§
fn init(init: Self::Init)
fn start()
fn stop()
fn status() -> Status
fn send(message: Self::Input)
fn listen<F>(transform: F) -> ListenerHandle
fn forward<X, F>(sender: Sender<X>, transform: F) -> ListenerHandle
fn filtered_forward<X, F>(sender: Sender<X>, transform: F) -> ListenerHandle
fn listen_local<F>(transform: F) -> LocalListenerHandle
fn forward_local<X, F>(sender: Sender<X>, transform: F) -> LocalListenerHandle
fn filtered_forward_local<X, F>( sender: Sender<X>, transform: F, ) -> LocalListenerHandle
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.