Struct InjectionProxy

Source
pub struct InjectionProxy { /* private fields */ }

Implementations§

Source§

impl InjectionProxy

Source

pub fn new(channel: AsyncChannel) -> Self

Create a new Proxy for fuchsia.test.audio/Injection.

Source

pub fn take_event_stream(&self) -> InjectionEventStream

Get a Stream of events from the remote end of the protocol.

§Panics

Panics if the event stream was already taken.

Source

pub fn write_input_audio( &self, index: i32, audio_writer: Socket, ) -> Result<(), Error>

Set the audio to be injected at index.

The first time this is called, an empty vector will be created, subsequent calls will append to audio_data to the same vector.

Use ClearInputAudio to clear audio input data stored at index.

Further requests on the same Injection connection are blocked until the audio_writer socket is drained completely. To determine when injection is complete, users may initiate a call to GetInputAudioSize immediately following the call to this method.

  • request index refers a specific audio_data input record. We can have multiple records.
  • request audio_writer socket where audio data will be loaded from.
Source

pub fn get_input_audio_size( &self, index: i32, ) -> QueryResponseFut<InjectionGetInputAudioSizeResult, DefaultFuchsiaResourceDialect>

Get the size of audio data stored at index.

This method returns the number of bytes of input data stored at the given index.

If a WriteInputAudio call is pending for the given index, this method will block until the socket is drained and the data is fully stored.

  • request index refers to a specific audio_data input record.
  • response error description of failure action to take.
Source

pub fn clear_input_audio( &self, index: i32, ) -> QueryResponseFut<InjectionClearInputAudioResult, DefaultFuchsiaResourceDialect>

Clears audio data stored at index.

If no data exists at index nothing will get cleared, but no error will be returned.

  • request index refers a specific audio_data input record to clear.
  • response error description of failure action to take.
Source

pub fn wait_until_input_is_done( &self, ) -> QueryResponseFut<InjectionWaitUntilInputIsDoneResult, DefaultFuchsiaResourceDialect>

Wait until injected inputs are done playing.

This function returns only when all injected audio tracks are complete.

This is intended to be called after calling StartInputInjection. If no tracks have been started, or all started tracks have already completed, then this function will immediately return without error.

  • response error description of failure action to take.
Source

pub fn start_input_injection( &self, index: i32, ) -> QueryResponseFut<InjectionStartInputInjectionResult, DefaultFuchsiaResourceDialect>

Start injecting the incoming audio for this device, using the audio at index.

Before calling this, use WriteInputAudio to store audio data at the given index.

  • request index refers a specific audio_data input record to play on the virtual microphone.
  • response error description of failure action to take.
Source

pub fn stop_input_injection( &self, ) -> QueryResponseFut<InjectionStopInputInjectionResult, DefaultFuchsiaResourceDialect>

Stop injecting audio data.

This stops playing all injected tracks.

This is intended to be called after calling StartInputInjection. If no tracks have been started, or if all started tracks have already completed, then this function will immediately return without error.

  • response error description of failure action to take.

Trait Implementations§

Source§

impl Clone for InjectionProxy

Source§

fn clone(&self) -> InjectionProxy

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for InjectionProxy

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl InjectionProxyInterface for InjectionProxy

Source§

impl Proxy for InjectionProxy

Source§

type Protocol = InjectionMarker

The protocol which this Proxy controls.
Source§

fn from_channel(inner: AsyncChannel) -> Self

Create a proxy over the given channel.
Source§

fn into_channel(self) -> Result<AsyncChannel, Self>

Attempt to convert the proxy back into a channel. Read more
Source§

fn as_channel(&self) -> &AsyncChannel

Get a reference to the proxy’s underlying channel. Read more
Source§

fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>

Attempt to convert the proxy back into a client end. Read more
Source§

fn is_closed(&self) -> bool

Returns true if the proxy has received the PEER_CLOSED signal.
Source§

fn on_closed(&self) -> OnSignals<'_, Unowned<'_, Handle>>

Returns a future that completes when the proxy receives the PEER_CLOSED signal.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

Source§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

Source§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ProxyHasDomain for T
where T: Proxy,

Source§

fn domain(&self) -> ZirconClient

Get a “client” for this proxy. This is just an object which has methods for a few common handle creation operations.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.