pub enum CollaborativeRebootInitiatorRequest {
PerformPendingReboot {
responder: CollaborativeRebootInitiatorPerformPendingRebootResponder,
},
}
Expand description
An initiator of collaborative device reboots.
Collaborative reboot is a mechanism that allows multiple actors to work together to schedule a device reboot at a time that avoids user disruption. Actors fulfill one of two roles: Scheduler or Initiator. The scheduler registers the desire to reboot the device at a later point in time, while the initiator identifies appropriate times to perform a reboot and actuates any scheduled requests. This protocol fulfills the initiator role.
Collaborative reboot can be used when the platform is configured to let the product drive reboot scheduling.
As a concrete example, this mechanism can be used to drive software updates. When the platform identifies that there is an outstanding software update to apply, it can download the update, and schedule a collaborative reboot. Later, when the product identifies that it is an appropriate time for the device to reboot (say, after it’s observed a sufficient period of user inactivity), it can initate the collaborative reboot.
Variants§
PerformPendingReboot
Initiates a collaborative reboot.
Initiates a device reboot if there is one or more pending reboot requests from a collaborative reboot scheduler.
Response:
- rebooting: True if there was a pending reboot request and the device will immediately reboot. False if there were no pending reboot requests and the device will not reboot.
Fields
Implementations§
Source§impl CollaborativeRebootInitiatorRequest
impl CollaborativeRebootInitiatorRequest
pub fn into_perform_pending_reboot( self, ) -> Option<CollaborativeRebootInitiatorPerformPendingRebootResponder>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL