pub struct Kernel<E: Environment> {
map_window_config: E::MapWindowConfig,
apc: E::AsyncProcedureCall,
scheduler: E::Scheduler,
source_client: SourceClient<E::HttpClient>,
}Expand description
Holds references to core constructs of maplibre. Based on the compile-time initialization
different implementations for handling windows, asynchronous work, or data sources are provided
through a Kernel.
An Environment defines the types which are used.
A Kernel lives as long as a Map usually. It is shared through out various components of the maplibre library.
Fields
map_window_config: E::MapWindowConfigapc: E::AsyncProcedureCallscheduler: E::Schedulersource_client: SourceClient<E::HttpClient>Implementations
sourceimpl<E: Environment> Kernel<E>
impl<E: Environment> Kernel<E>
pub fn map_window_config(&self) -> &E::MapWindowConfig
pub fn apc(&self) -> &E::AsyncProcedureCall
pub fn scheduler(&self) -> &E::Scheduler
pub fn source_client(&self) -> &SourceClient<E::HttpClient>
Auto Trait Implementations
impl<E> RefUnwindSafe for Kernel<E>where
<E as Environment>::AsyncProcedureCall: RefUnwindSafe,
<E as Environment>::HttpClient: RefUnwindSafe,
<E as Environment>::MapWindowConfig: RefUnwindSafe,
<E as Environment>::Scheduler: RefUnwindSafe,
impl<E> Send for Kernel<E>where
<E as Environment>::AsyncProcedureCall: Send,
<E as Environment>::MapWindowConfig: Send,
<E as Environment>::Scheduler: Send,
impl<E> Sync for Kernel<E>where
<E as Environment>::AsyncProcedureCall: Sync,
<E as Environment>::MapWindowConfig: Sync,
<E as Environment>::Scheduler: Sync,
impl<E> Unpin for Kernel<E>where
<E as Environment>::AsyncProcedureCall: Unpin,
<E as Environment>::HttpClient: Unpin,
<E as Environment>::MapWindowConfig: Unpin,
<E as Environment>::Scheduler: Unpin,
impl<E> UnwindSafe for Kernel<E>where
<E as Environment>::AsyncProcedureCall: UnwindSafe,
<E as Environment>::HttpClient: UnwindSafe,
<E as Environment>::MapWindowConfig: UnwindSafe,
<E as Environment>::Scheduler: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read morefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read morefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read morefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more