pub struct VmTimeSourceBuilder { /* private fields */ }
Expand description
A time source builder, used to spawn tasks that back VmTimeSource
instances.
Note that this can be sent across processes via mesh
.
However, the time keeping infrastructure assumes that all time keeping tasks share a single global monotonic OS clock. This means that if you send this across a VM/kernel/network boundary, the resulting time sources will not be in sync with each other.
Implementations§
Source§impl VmTimeSourceBuilder
impl VmTimeSourceBuilder
Sourcepub async fn build(
&self,
driver: &impl SpawnDriver,
) -> Result<VmTimeSource, TimeKeeperIsGone>
pub async fn build( &self, driver: &impl SpawnDriver, ) -> Result<VmTimeSource, TimeKeeperIsGone>
Builds and spawns a backing task for VmTimeSource
s. All
VmTimeSource
instances cloned from the first one will share a
backing task.
Trait Implementations§
Source§impl Clone for VmTimeSourceBuilder
impl Clone for VmTimeSourceBuilder
Source§fn clone(&self) -> VmTimeSourceBuilder
fn clone(&self) -> VmTimeSourceBuilder
Returns a copy 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 moreSource§impl Debug for VmTimeSourceBuilder
impl Debug for VmTimeSourceBuilder
Source§impl DefaultEncoding for VmTimeSourceBuilder
impl DefaultEncoding for VmTimeSourceBuilder
Source§impl<'encoding> StructDecodeMetadata<'encoding, Resource> for VmTimeSourceBuilder
impl<'encoding> StructDecodeMetadata<'encoding, Resource> for VmTimeSourceBuilder
Source§impl StructEncodeMetadata<Resource> for VmTimeSourceBuilder
impl StructEncodeMetadata<Resource> for VmTimeSourceBuilder
Auto Trait Implementations§
impl Freeze for VmTimeSourceBuilder
impl !RefUnwindSafe for VmTimeSourceBuilder
impl Send for VmTimeSourceBuilder
impl Sync for VmTimeSourceBuilder
impl Unpin for VmTimeSourceBuilder
impl !UnwindSafe for VmTimeSourceBuilder
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> MeshField for T
impl<T> MeshField for T
§impl<T> MeshPayload for T
impl<T> MeshPayload for T
§impl<T> SerializeMessage for Twhere
T: 'static + MeshPayload + Send,
impl<T> SerializeMessage for Twhere
T: 'static + MeshPayload + Send,
§fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
Computes the message size, as in [
MessageEncode::compute_message_size
].§fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
Writes the message, as in [
MessageEncode::write_message
].