pub enum DomainControllerRequest {
ListDomains {
responder: DomainControllerListDomainsResponder,
},
GetMaxFrequency {
domain_id: u64,
responder: DomainControllerGetMaxFrequencyResponder,
},
SetMaxFrequency {
domain_id: u64,
frequency_index: u64,
responder: DomainControllerSetMaxFrequencyResponder,
},
ClearMaxFrequency {
domain_id: u64,
responder: DomainControllerClearMaxFrequencyResponder,
},
GetMinFrequency {
domain_id: u64,
responder: DomainControllerGetMinFrequencyResponder,
},
LeaseMaxFrequency {
domain_id: u64,
frequency_index: u64,
lease_name: String,
responder: DomainControllerLeaseMaxFrequencyResponder,
},
LeaseMinFrequency {
domain_id: u64,
frequency_index: u64,
lease_name: String,
responder: DomainControllerLeaseMinFrequencyResponder,
},
#[non_exhaustive] _UnknownMethod {
ordinal: u64,
control_handle: DomainControllerControlHandle,
method_type: MethodType,
},
}Variants§
ListDomains
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”.
Fields
responder: DomainControllerListDomainsResponderGetMaxFrequency
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.
SetMaxFrequency
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.
ClearMaxFrequency
Clears the max frequency limit the CPU can run at.
If domain_id is invalid, INVALID_ARGUMENTS is returned.
GetMinFrequency
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.
LeaseMaxFrequency
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.
Fields
responder: DomainControllerLeaseMaxFrequencyResponderLeaseMinFrequency
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.
Fields
responder: DomainControllerLeaseMinFrequencyResponder#[non_exhaustive]_UnknownMethod
An interaction was received which does not match any known method.
Fields
This variant is marked as non-exhaustive
control_handle: DomainControllerControlHandlemethod_type: MethodTypeImplementations§
Source§impl DomainControllerRequest
impl DomainControllerRequest
pub fn into_list_domains(self) -> Option<DomainControllerListDomainsResponder>
pub fn into_get_max_frequency( self, ) -> Option<(u64, DomainControllerGetMaxFrequencyResponder)>
pub fn into_set_max_frequency( self, ) -> Option<(u64, u64, DomainControllerSetMaxFrequencyResponder)>
pub fn into_clear_max_frequency( self, ) -> Option<(u64, DomainControllerClearMaxFrequencyResponder)>
pub fn into_get_min_frequency( self, ) -> Option<(u64, DomainControllerGetMinFrequencyResponder)>
pub fn into_lease_max_frequency( self, ) -> Option<(u64, u64, String, DomainControllerLeaseMaxFrequencyResponder)>
pub fn into_lease_min_frequency( self, ) -> Option<(u64, u64, String, DomainControllerLeaseMinFrequencyResponder)>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL