pub struct DomainControllerSynchronousProxy { /* private fields */ }Implementations§
Source§impl DomainControllerSynchronousProxy
impl DomainControllerSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<DomainControllerEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<DomainControllerEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn list_domains(
&self,
___deadline: MonotonicInstant,
) -> Result<Vec<DomainInfo>, Error>
pub fn list_domains( &self, ___deadline: MonotonicInstant, ) -> Result<Vec<DomainInfo>, Error>
Lists info about each domain managed by the server.
The server is guaranteed to fill all fields within DomainInfo unless
the field is explicitly marked as “Optional”.
Sourcepub fn get_max_frequency(
&self,
domain_id: u64,
___deadline: MonotonicInstant,
) -> Result<DomainControllerGetMaxFrequencyResult, Error>
pub fn get_max_frequency( &self, domain_id: u64, ___deadline: MonotonicInstant, ) -> Result<DomainControllerGetMaxFrequencyResult, Error>
Gets the index of the max frequency the CPU can run at.
max_frequency_index corresponds to the index of a frequency within
this domain’s available_frequencies_hz list retrieved via
[ListDomains].
If SetMaxFrequency or LeaseMaxFrequency has never been called, this will return the index that corresponds to the highest available frequency for this domain.
If domain_id is invalid, INVALID_ARGUMENTS is returned.
Sourcepub fn set_max_frequency(
&self,
domain_id: u64,
frequency_index: u64,
___deadline: MonotonicInstant,
) -> Result<DomainControllerSetMaxFrequencyResult, Error>
pub fn set_max_frequency( &self, domain_id: u64, frequency_index: u64, ___deadline: MonotonicInstant, ) -> Result<DomainControllerSetMaxFrequencyResult, Error>
Sets the max frequency the CPU can run at.
frequency_index must correspond to the index of a frequency within
this domain’s available_frequencies_hz list retrieved via
[ListDomains].
On products with Runtime Processor Power Management (RPPM), the CPU may briefly exceed max frequency if power limits allow.
If domain_id is invalid, INVALID_ARGUMENTS is returned.
If frequency_index is invalid, INVALID_ARGUMENTS is returned.
Sourcepub fn clear_max_frequency(
&self,
domain_id: u64,
___deadline: MonotonicInstant,
) -> Result<DomainControllerClearMaxFrequencyResult, Error>
pub fn clear_max_frequency( &self, domain_id: u64, ___deadline: MonotonicInstant, ) -> Result<DomainControllerClearMaxFrequencyResult, Error>
Clears the max frequency limit the CPU can run at.
If domain_id is invalid, INVALID_ARGUMENTS is returned.
Sourcepub fn get_min_frequency(
&self,
domain_id: u64,
___deadline: MonotonicInstant,
) -> Result<DomainControllerGetMinFrequencyResult, Error>
pub fn get_min_frequency( &self, domain_id: u64, ___deadline: MonotonicInstant, ) -> Result<DomainControllerGetMinFrequencyResult, Error>
Gets the index of the min frequency the CPU can run at.
min_frequency_index corresponds to the index of a frequency within
this domain’s available_frequencies_hz list retrieved via
[ListDomains].
If no floor lease is currently active, this will return the index that corresponds to the lowest available frequency for this domain.
If domain_id is invalid, INVALID_ARGUMENTS is returned.
Sourcepub fn lease_max_frequency(
&self,
domain_id: u64,
frequency_index: u64,
lease_name: &str,
___deadline: MonotonicInstant,
) -> Result<DomainControllerLeaseMaxFrequencyResult, Error>
pub fn lease_max_frequency( &self, domain_id: u64, frequency_index: u64, lease_name: &str, ___deadline: MonotonicInstant, ) -> Result<DomainControllerLeaseMaxFrequencyResult, Error>
Acquires a ceiling lease on domain_id capping its maximum operating
point at frequency_index.
Multiple clients may hold concurrent ceiling leases on the same domain;
the server enforces the lowest maximum frequency (highest
frequency_index) across all active leases. Each call creates an
independent lease whose lifetime is governed solely by the returned
lease_token handle; closing all handles to lease_token releases the
lease.
lease_name is a human-readable label for diagnostics and Inspect only
and is not required to be unique.
If domain_id or frequency_index is invalid, INVALID_ARGUMENTS is
returned.
Sourcepub fn lease_min_frequency(
&self,
domain_id: u64,
frequency_index: u64,
lease_name: &str,
___deadline: MonotonicInstant,
) -> Result<DomainControllerLeaseMinFrequencyResult, Error>
pub fn lease_min_frequency( &self, domain_id: u64, frequency_index: u64, lease_name: &str, ___deadline: MonotonicInstant, ) -> Result<DomainControllerLeaseMinFrequencyResult, Error>
Acquires a floor lease on domain_id raising its minimum operating
point to frequency_index.
Multiple clients may hold concurrent floor leases on the same domain;
the server enforces the highest minimum frequency (lowest
frequency_index) across all active leases. Each call creates an
independent lease whose lifetime is governed solely by the returned
lease_token handle; closing all handles to lease_token releases the
lease.
lease_name is a human-readable label for diagnostics and Inspect only
and is not required to be unique.
If domain_id or frequency_index is invalid, INVALID_ARGUMENTS is
returned.
Trait Implementations§
Source§impl From<Channel> for DomainControllerSynchronousProxy
Available on Fuchsia only.
impl From<Channel> for DomainControllerSynchronousProxy
Source§impl From<DomainControllerSynchronousProxy> for NullableHandle
Available on Fuchsia only.
impl From<DomainControllerSynchronousProxy> for NullableHandle
Source§fn from(value: DomainControllerSynchronousProxy) -> Self
fn from(value: DomainControllerSynchronousProxy) -> Self
Source§impl FromClient for DomainControllerSynchronousProxy
Available on Fuchsia only.
impl FromClient for DomainControllerSynchronousProxy
Source§type Protocol = DomainControllerMarker
type Protocol = DomainControllerMarker
Source§fn from_client(value: ClientEnd<DomainControllerMarker>) -> Self
fn from_client(value: ClientEnd<DomainControllerMarker>) -> Self
Source§impl SynchronousProxy for DomainControllerSynchronousProxy
Available on Fuchsia only.
impl SynchronousProxy for DomainControllerSynchronousProxy
Source§type Proxy = DomainControllerProxy
type Proxy = DomainControllerProxy
Source§type Protocol = DomainControllerMarker
type Protocol = DomainControllerMarker
Proxy controls.