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§type Encoding = TableEncoder
type Encoding = TableEncoder
The encoding to use for the serialization. Read more
Source§impl<'encoding> StructDecodeMetadata<'encoding, Resource> for VmTimeSourceBuilder
impl<'encoding> StructDecodeMetadata<'encoding, Resource> for VmTimeSourceBuilder
Source§const DECODERS: &'static [ErasedDecoderEntry] = _
const DECODERS: &'static [ErasedDecoderEntry] = _
The list of decoder vtables.
Source§impl StructEncodeMetadata<Resource> for VmTimeSourceBuilder
impl StructEncodeMetadata<Resource> for VmTimeSourceBuilder
Source§const ENCODERS: &'static [ErasedEncoderEntry] = _
const ENCODERS: &'static [ErasedEncoderEntry] = _
The list of encoder vtables.
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> MeshField for Twhere
T: DefaultEncoding,
<T as DefaultEncoding>::Encoding: FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
impl<T> MeshField for Twhere
T: DefaultEncoding,
<T as DefaultEncoding>::Encoding: FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
type Encoding = <T as DefaultEncoding>::Encoding
Source§impl<T> MeshPayload for Twhere
T: DefaultEncoding + Any + Send + 'static,
<T as DefaultEncoding>::Encoding: MessageEncode<T, Resource> + for<'a> MessageDecode<'a, T, Resource> + FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
impl<T> MeshPayload for Twhere
T: DefaultEncoding + Any + Send + 'static,
<T as DefaultEncoding>::Encoding: MessageEncode<T, Resource> + for<'a> MessageDecode<'a, T, Resource> + FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
type Encoding = <T as DefaultEncoding>::Encoding
Source§impl<T> SerializeMessage for Twhere
T: 'static + MeshPayload + Send,
impl<T> SerializeMessage for Twhere
T: 'static + MeshPayload + Send,
Source§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
.Source§fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
Writes the message, as in
MessageEncode::write_message
.Source§fn extract(self) -> <T as SerializeMessage>::Concrete
fn extract(self) -> <T as SerializeMessage>::Concrete
Extract the concrete message.