pub enum PullSourceRequest {
UpdateDeviceProperties {
properties: Properties,
control_handle: PullSourceControlHandle,
},
Sample {
urgency: Urgency,
responder: PullSourceSampleResponder,
},
NextPossibleSampleTime {
responder: PullSourceNextPossibleSampleTimeResponder,
},
Shutdown {
responder: PullSourceShutdownResponder,
},
}Expand description
A protocol for time sources that produce time samples on demand.
Variants§
UpdateDeviceProperties
Notifies the time source of changes to global properties of the device that it may use to increase accuracy of time measurements.
Sample
Produce a new time sample.
The server may consider the supplied urgency and will potentially produce a sample more quickly but with lower accuracy when a request is marked urgent.
The server will return an error for permanent errors but will block on conditions that are not known to be permanent (e.g. network not connected).
The server will return a RATE_LIMITED error if the client should wait
before requesting another sample. In this case the client may call
NextPossibleSampleTime to determine when the time source will be
willing to produce another sample.
NextPossibleSampleTime
Returns the monotonic time at which the PullSource is willing to produce another sample. If the PullSource is not rate limited it will return a time less than or equal to current monotonic time.
Fields
responder: PullSourceNextPossibleSampleTimeResponderShutdown
Notifies the time source that it is about to be shut down.
The time source should escrow its Inspect data to allow it to be retrieved after the component has stopped.
Fields
responder: PullSourceShutdownResponderImplementations§
Source§impl PullSourceRequest
impl PullSourceRequest
pub fn into_update_device_properties( self, ) -> Option<(Properties, PullSourceControlHandle)>
pub fn into_sample(self) -> Option<(Urgency, PullSourceSampleResponder)>
pub fn into_next_possible_sample_time( self, ) -> Option<PullSourceNextPossibleSampleTimeResponder>
pub fn into_shutdown(self) -> Option<PullSourceShutdownResponder>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL