pub struct ProviderV2SynchronousProxy { /* private fields */ }Implementations§
Source§impl ProviderV2SynchronousProxy
impl ProviderV2SynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<ProviderV2Event, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<ProviderV2Event, 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 initialize(&self, config: ProviderConfigV2) -> Result<(), Error>
pub fn initialize(&self, config: ProviderConfigV2) -> Result<(), Error>
Initialize tracing and prepare for writing trace records for events in
the specified categories into buffer.
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,
___deadline: MonotonicInstant,
) -> Result<(), Error>
pub fn start( &self, options: &StartOptions, ___deadline: MonotonicInstant, ) -> Result<(), Error>
Begin tracing.
If tracing has already started the provider must ignore the request.
Sourcepub fn stop(&self, ___deadline: MonotonicInstant) -> Result<(), Error>
pub fn stop(&self, ___deadline: MonotonicInstant) -> 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 an OnStopped() event.
Note that multiple Start,Stop requests can be received between
Initialize,Terminate.
Sourcepub fn terminate(&self, ___deadline: MonotonicInstant) -> Result<(), Error>
pub fn terminate(&self, ___deadline: MonotonicInstant) -> Result<(), Error>
Terminate tracing.
Tracing is stopped first if not already stopped.
Sourcepub fn get_known_categories(
&self,
___deadline: MonotonicInstant,
) -> Result<Vec<KnownCategory>, Error>
pub fn get_known_categories( &self, ___deadline: MonotonicInstant, ) -> Result<Vec<KnownCategory>, Error>
Gets the trace categories that might be produced by this provider.
Sourcepub fn notify_buffer_saved(
&self,
wrapped_count: u32,
durable_data_end: u64,
) -> Result<(), Error>
pub fn notify_buffer_saved( &self, wrapped_count: u32, durable_data_end: u64, ) -> Result<(), Error>
A buffer has been saved (streaming mode only).
Sourcepub fn flush(&self) -> Result<(), Error>
pub fn flush(&self) -> Result<(), Error>
Requests the provider its buffer to be read out, regardless of it is full or not.
Normally streaming mode only sends data once it has enough data to require a buffer swap and data flush. This produces fewer, but larger and bursty data transfers.
Some clients may want more regular smaller data transfers. These clients may instead manually invoke Flush whenever they are ready for data.
Trait Implementations§
Source§impl Debug for ProviderV2SynchronousProxy
impl Debug for ProviderV2SynchronousProxy
Source§impl From<Channel> for ProviderV2SynchronousProxy
Available on Fuchsia only.
impl From<Channel> for ProviderV2SynchronousProxy
Source§impl From<ProviderV2SynchronousProxy> for NullableHandle
Available on Fuchsia only.
impl From<ProviderV2SynchronousProxy> for NullableHandle
Source§fn from(value: ProviderV2SynchronousProxy) -> Self
fn from(value: ProviderV2SynchronousProxy) -> Self
Source§impl FromClient for ProviderV2SynchronousProxy
Available on Fuchsia only.
impl FromClient for ProviderV2SynchronousProxy
Source§type Protocol = ProviderV2Marker
type Protocol = ProviderV2Marker
Source§fn from_client(value: ClientEnd<ProviderV2Marker>) -> Self
fn from_client(value: ClientEnd<ProviderV2Marker>) -> Self
Source§impl SynchronousProxy for ProviderV2SynchronousProxy
Available on Fuchsia only.
impl SynchronousProxy for ProviderV2SynchronousProxy
Source§type Proxy = ProviderV2Proxy
type Proxy = ProviderV2Proxy
Source§type Protocol = ProviderV2Marker
type Protocol = ProviderV2Marker
Proxy controls.