pub struct ClockProxy { /* private fields */ }Implementations§
Source§impl ClockProxy
impl ClockProxy
Sourcepub fn take_event_stream(&self) -> ClockEventStream
pub fn take_event_stream(&self) -> ClockEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn enable(
&self,
) -> QueryResponseFut<ClockEnableResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn enable( &self, ) -> QueryResponseFut<ClockEnableResult, DefaultFuchsiaResourceDialect> ⓘ
Enables (ungates) this clock.
Drivers must call enable on all clocks they depend upon.
Returns ZX_ERR_NOT_SUPPORTED if this clock type does not support Enable.
Returns ZX_ERR_TIMED_OUT if an operation timed out (for instance, a PLL was unable to lock).
Returns ZX_ERR_INTERNAL if the operation failed for any other reason.
Sourcepub fn disable(
&self,
) -> QueryResponseFut<ClockDisableResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn disable( &self, ) -> QueryResponseFut<ClockDisableResult, DefaultFuchsiaResourceDialect> ⓘ
Disables (gates) this clock.
Drivers should call this method to indicate to the clock subsystem that
a particular clock signal is no longer necessary.
Returns ZX_ERR_NOT_SUPPORTED if this clock type does not support Disable
Returns ZX_ERR_INTERNAL if the operation failed for any other reason.
Sourcepub fn is_enabled(
&self,
) -> QueryResponseFut<ClockIsEnabledResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn is_enabled( &self, ) -> QueryResponseFut<ClockIsEnabledResult, DefaultFuchsiaResourceDialect> ⓘ
Returns true if a given clock is running.
May query the hardware or return a cached value.
IsEnabled shall not alter the state of the clock tree in any way.
Returns ZX_ERR_NOT_SUPPORTED if this clock type does not support IsEnabled.
Sourcepub fn set_rate(
&self,
hz: u64,
) -> QueryResponseFut<ClockSetRateResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn set_rate( &self, hz: u64, ) -> QueryResponseFut<ClockSetRateResult, DefaultFuchsiaResourceDialect> ⓘ
Attempt to set the rate of the clock provider.
Returns ZX_ERR_NOT_SUPPORTED if this clock type does not support SetRate
Returns ZX_ERR_INVALID_ARGS if the requested rate is not one that is reported as supported by QuerySupportedRate.
Returns ZX_ERR_TIMED_OUT if an operation timed out (for instance, a PLL was unable to lock).
Returns ZX_ERR_INTERNAL if the operation failed for any other reason.
Sourcepub fn query_supported_rate(
&self,
hz_in: u64,
) -> QueryResponseFut<ClockQuerySupportedRateResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn query_supported_rate( &self, hz_in: u64, ) -> QueryResponseFut<ClockQuerySupportedRateResult, DefaultFuchsiaResourceDialect> ⓘ
Query the hardware for the highest supported rate that does not
exceed hz_in.
QuerySupportedRate shall not alter the state of the clock tree in any way.
Returns ZX_ERR_NOT_SUPPORTED if this clock type does not support QuerySupportedRate.
Returns ZX_ERR_OUT_OF_RANGE if a suitable rate could not be found.
Sourcepub fn get_rate(
&self,
) -> QueryResponseFut<ClockGetRateResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn get_rate( &self, ) -> QueryResponseFut<ClockGetRateResult, DefaultFuchsiaResourceDialect> ⓘ
Returns the current rate that a given clock is running at.
GetRate shall not alter the state of the clock tree in any way.
Returns ZX_ERR_NOT_SUPPORTED if this clock type does not support GetRate .
Sourcepub fn set_input(
&self,
idx: u32,
) -> QueryResponseFut<ClockSetInputResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn set_input( &self, idx: u32, ) -> QueryResponseFut<ClockSetInputResult, DefaultFuchsiaResourceDialect> ⓘ
Sets the input of this clock by index. I.e. by selecting a mux.
This clock has N inputs defined 0 through N-1, which are valid arguemts
as the index to SetInput.
Returns ZX_ERR_NOT_SUPPORTED if this clock type does not support SetInput
Returns ZX_ERR_OUT_OF_RANGE if idx is outside of the range supplied by GetNumInputs.
Returns ZX_ERR_INTERNAL if the operation failed for any other reason.
Sourcepub fn get_num_inputs(
&self,
) -> QueryResponseFut<ClockGetNumInputsResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn get_num_inputs( &self, ) -> QueryResponseFut<ClockGetNumInputsResult, DefaultFuchsiaResourceDialect> ⓘ
Returns the number of inputs this clock has.
Any value between 0 and UINT32_MAX is a valid return for this method.
A Root Oscillator may return 0 for instance, if it has no inputs.
GetNumInputs shall not alter the state of the clock tree in any way.
Returns ZX_ERR_NOT_SUPPORTED if this clock type does not support GetNumInputs.
Sourcepub fn get_input(
&self,
) -> QueryResponseFut<ClockGetInputResult, DefaultFuchsiaResourceDialect> ⓘ
pub fn get_input( &self, ) -> QueryResponseFut<ClockGetInputResult, DefaultFuchsiaResourceDialect> ⓘ
Returns the index of the current input of this clock.
GetInput shall not alter the state of the clock tree in any way.
Returns ZX_ERR_NOT_SUPPORTED if this clock type does not support GetInput.
Sourcepub fn get_properties(
&self,
) -> QueryResponseFut<(u32, String), DefaultFuchsiaResourceDialect> ⓘ
pub fn get_properties( &self, ) -> QueryResponseFut<(u32, String), DefaultFuchsiaResourceDialect> ⓘ
Returns the static properties of a clock.
Trait Implementations§
Source§impl ClockProxyInterface for ClockProxy
impl ClockProxyInterface for ClockProxy
type EnableResponseFut = QueryResponseFut<Result<(), i32>>
type DisableResponseFut = QueryResponseFut<Result<(), i32>>
type IsEnabledResponseFut = QueryResponseFut<Result<bool, i32>>
type SetRateResponseFut = QueryResponseFut<Result<(), i32>>
type QuerySupportedRateResponseFut = QueryResponseFut<Result<u64, i32>>
type GetRateResponseFut = QueryResponseFut<Result<u64, i32>>
type SetInputResponseFut = QueryResponseFut<Result<(), i32>>
type GetNumInputsResponseFut = QueryResponseFut<Result<u32, i32>>
type GetInputResponseFut = QueryResponseFut<Result<u32, i32>>
type GetPropertiesResponseFut = QueryResponseFut<(u32, String)>
fn enable(&self) -> Self::EnableResponseFut
fn disable(&self) -> Self::DisableResponseFut
fn is_enabled(&self) -> Self::IsEnabledResponseFut
fn set_rate(&self, hz: u64) -> Self::SetRateResponseFut
fn query_supported_rate( &self, hz_in: u64, ) -> Self::QuerySupportedRateResponseFut
fn get_rate(&self) -> Self::GetRateResponseFut
fn set_input(&self, idx: u32) -> Self::SetInputResponseFut
fn get_num_inputs(&self) -> Self::GetNumInputsResponseFut
fn get_input(&self) -> Self::GetInputResponseFut
fn get_properties(&self) -> Self::GetPropertiesResponseFut
Source§impl Clone for ClockProxy
impl Clone for ClockProxy
Source§impl Debug for ClockProxy
impl Debug for ClockProxy
Source§impl Proxy for ClockProxy
impl Proxy for ClockProxy
Source§type Protocol = ClockMarker
type Protocol = ClockMarker
Proxy controls.