pub struct ProfileProviderProxy { /* private fields */ }
Implementations§
Source§impl ProfileProviderProxy
impl ProfileProviderProxy
Sourcepub fn new(channel: AsyncChannel) -> Self
pub fn new(channel: AsyncChannel) -> Self
Create a new Proxy for fuchsia.media/ProfileProvider.
Sourcepub fn take_event_stream(&self) -> ProfileProviderEventStream
pub fn take_event_stream(&self) -> ProfileProviderEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn register_handler_with_capacity(
&self,
thread_handle: Thread,
name: &str,
period: i64,
capacity: f32,
) -> QueryResponseFut<(i64, i64), DefaultFuchsiaResourceDialect>
pub fn register_handler_with_capacity( &self, thread_handle: Thread, name: &str, period: i64, capacity: f32, ) -> QueryResponseFut<(i64, i64), DefaultFuchsiaResourceDialect>
Register a thread as a media thread. This notifies the media subsystem that this thread should have an elevated scheduling profile applied to it in order to meet audio or video deadlines.
name
is the name of a system scheduling role to apply to the thread given by
thread_handle
– different products may customize the underlying scheduling strategy based
on the requested role. period
is the suggested interval to be scheduled at. period
may
be zero if the thread has no preferred scheduling interval. capacity
is the proportion of
the scheduling interval the thread needs to be running to achieve good performance or to
meet the scheduling deadline defined by period
. capacity
may be zero if the workload has
no firm runtime requirements. Note that capacity
should be a good faith estimate based on
the worst case runtime the thread requires each period. Excessive capacity requests may
be rejected or result in scaling back the performance of other threads to fit resource
limits.
Capacity, max runtime, and period have the following relationship:
capacity = max runtime / period
Where:
0 <= max runtime <= period and 0 <= capacity <= 1
For heterogeneous systems, the capacity should be planned / measured against the highest performance processor(s) in the system. The system will automatically adjust the effective capacity to account for slower processors and operating points and will avoid processors and operating points that are too slow to meet the requested scheduling parameters (provided they are reasonable).
Returns the period and capacity (actually maximum runtime) that was applied, either of which may be zero to indicate not applicable.
Sourcepub fn unregister_handler(
&self,
thread_handle: Thread,
name: &str,
) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
pub fn unregister_handler( &self, thread_handle: Thread, name: &str, ) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
Reset a thread’s scheduling profile to the default.
Sourcepub fn register_memory_range(
&self,
vmar_handle: Vmar,
name: &str,
) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
pub fn register_memory_range( &self, vmar_handle: Vmar, name: &str, ) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
Register a memory range as being used for media processing. This notifies the media subsystem that this memory should have an elevated memory profile applied to it in order to meet audio or video deadlines.
name
is the name of a system memory role to apply to the memory given by
vmar_handle
– different products may customize the underlying memory strategy based
on the requested role.
Sourcepub fn unregister_memory_range(
&self,
vmar_handle: Vmar,
) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
pub fn unregister_memory_range( &self, vmar_handle: Vmar, ) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
Reset a memory range’s memory profile.
Trait Implementations§
Source§impl Clone for ProfileProviderProxy
impl Clone for ProfileProviderProxy
Source§fn clone(&self) -> ProfileProviderProxy
fn clone(&self) -> ProfileProviderProxy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ProfileProviderProxy
impl Debug for ProfileProviderProxy
Source§impl ProfileProviderProxyInterface for ProfileProviderProxy
impl ProfileProviderProxyInterface for ProfileProviderProxy
type RegisterHandlerWithCapacityResponseFut = QueryResponseFut<(i64, i64)>
type UnregisterHandlerResponseFut = QueryResponseFut<()>
type RegisterMemoryRangeResponseFut = QueryResponseFut<()>
type UnregisterMemoryRangeResponseFut = QueryResponseFut<()>
fn register_handler_with_capacity( &self, thread_handle: Thread, name: &str, period: i64, capacity: f32, ) -> Self::RegisterHandlerWithCapacityResponseFut
fn unregister_handler( &self, thread_handle: Thread, name: &str, ) -> Self::UnregisterHandlerResponseFut
fn register_memory_range( &self, vmar_handle: Vmar, name: &str, ) -> Self::RegisterMemoryRangeResponseFut
fn unregister_memory_range( &self, vmar_handle: Vmar, ) -> Self::UnregisterMemoryRangeResponseFut
Source§impl Proxy for ProfileProviderProxy
impl Proxy for ProfileProviderProxy
Source§type Protocol = ProfileProviderMarker
type Protocol = ProfileProviderMarker
Proxy
controls.Source§fn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Source§fn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, Self>
Source§fn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
§fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
Auto Trait Implementations§
impl Freeze for ProfileProviderProxy
impl !RefUnwindSafe for ProfileProviderProxy
impl Send for ProfileProviderProxy
impl Sync for ProfileProviderProxy
impl Unpin for ProfileProviderProxy
impl !UnwindSafe for ProfileProviderProxy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)