pub struct ServiceHandle { /* private fields */ }Expand description
A handle to a service in the server.
This is returned by crate::server::Server::add_service() and provides
methods to declare that other services depend on this one.
§Example
ⓘ
let db_handle = server.add_service(database_service);
let cache_handle = server.add_service(cache_service);
let api_handle = server.add_service(api_service);
api_handle.add_dependency(&db_handle);
api_handle.add_dependency(&cache_handle);Implementations§
Source§impl ServiceHandle
impl ServiceHandle
Sourcepub fn add_dependency(&self, dependency: impl Borrow<ServiceHandle>)
pub fn add_dependency(&self, dependency: impl Borrow<ServiceHandle>)
Declares that this service depends on another service.
This service will not start until the specified dependency has started and signaled readiness.
§Example
ⓘ
let db_id = server.add_service(database_service);
let api_id = server.add_service(api_service);
// API service depends on database
api_id.add_dependency(&db_id);Sourcepub fn add_dependencies<'a, D>(&self, dependencies: impl IntoIterator<Item = D>)where
D: Borrow<ServiceHandle> + 'a,
pub fn add_dependencies<'a, D>(&self, dependencies: impl IntoIterator<Item = D>)where
D: Borrow<ServiceHandle> + 'a,
Declares that this service depends on the given other services.
This service will not start until the specified dependencies have started and signaled readiness.
§Example
ⓘ
let db_id = server.add_service(database_service);
let cache_id = server.add_service(cache_service);
let api_id = server.add_service(api_service);
// API service depends on database
api_id.add_dependencies(&[&db_id, &cache_id]);Trait Implementations§
Source§impl Clone for ServiceHandle
impl Clone for ServiceHandle
Source§fn clone(&self) -> ServiceHandle
fn clone(&self) -> ServiceHandle
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ServiceHandle
impl !RefUnwindSafe for ServiceHandle
impl Send for ServiceHandle
impl Sync for ServiceHandle
impl Unpin for ServiceHandle
impl UnsafeUnpin for ServiceHandle
impl !UnwindSafe for ServiceHandle
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