pub struct ProviderProxy { /* private fields */ }
Implementations§
Source§impl ProviderProxy
impl ProviderProxy
Sourcepub fn new(channel: AsyncChannel) -> Self
pub fn new(channel: AsyncChannel) -> Self
Create a new Proxy for fuchsia.tracing.provider/Provider.
Sourcepub fn take_event_stream(&self) -> ProviderEventStream
pub fn take_event_stream(&self) -> ProviderEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn initialize(&self, config: ProviderConfig) -> Result<(), Error>
pub fn initialize(&self, config: ProviderConfig) -> Result<(), Error>
Initialize tracing and prepare for writing trace records for events in
the specified categories
into buffer
using fifo
for signaling.
Tracing hasn’t started yet, a Start()
call is still required.
At most one trace can be active at a time. Subsequent Initialize()
requests received prior to a Terminate()
call must be ignored.
Sourcepub fn start(&self, options: &StartOptions) -> Result<(), Error>
pub fn start(&self, options: &StartOptions) -> Result<(), Error>
Begin tracing.
If tracing has already started the provider must ignore the request.
There is no result. The provider must send a TRACE_PROVIDER_STARTED
packet on fifo
to indicate success/failure of starting.
Sourcepub fn stop(&self) -> Result<(), Error>
pub fn stop(&self) -> Result<(), Error>
Stop tracing.
If tracing has already stopped the provider must ignore the request.
Once the provider has finished writing any final events to the trace
buffer, it must send a TRACE_PROVIDER_STOPPED
packet on fifo
.
Note that multiple Start,Stop
requests can be received between
Initialize,Terminate
.
Sourcepub fn terminate(&self) -> Result<(), Error>
pub fn terminate(&self) -> Result<(), Error>
Terminate tracing.
Tracing is stopped first if not already stopped.
After tracing has fully terminated the provider must close both
buffer
and fifo
to indicate to the trace manager that tracing is
finished.
Sourcepub fn get_known_categories(
&self,
) -> QueryResponseFut<Vec<KnownCategory>, DefaultFuchsiaResourceDialect>
pub fn get_known_categories( &self, ) -> QueryResponseFut<Vec<KnownCategory>, DefaultFuchsiaResourceDialect>
Gets the trace categories that might be produced by this provider.
Trait Implementations§
Source§impl Clone for ProviderProxy
impl Clone for ProviderProxy
Source§fn clone(&self) -> ProviderProxy
fn clone(&self) -> ProviderProxy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ProviderProxy
impl Debug for ProviderProxy
Source§impl ProviderProxyInterface for ProviderProxy
impl ProviderProxyInterface for ProviderProxy
type GetKnownCategoriesResponseFut = QueryResponseFut<Vec<KnownCategory>>
fn initialize(&self, config: ProviderConfig) -> Result<(), Error>
fn start(&self, options: &StartOptions) -> Result<(), Error>
fn stop(&self) -> Result<(), Error>
fn terminate(&self) -> Result<(), Error>
fn get_known_categories(&self) -> Self::GetKnownCategoriesResponseFut
Source§impl Proxy for ProviderProxy
impl Proxy for ProviderProxy
Source§type Protocol = ProviderMarker
type Protocol = ProviderMarker
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 ProviderProxy
impl !RefUnwindSafe for ProviderProxy
impl Send for ProviderProxy
impl Sync for ProviderProxy
impl Unpin for ProviderProxy
impl !UnwindSafe for ProviderProxy
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
)