Skip to main content

RecordingHandle

Struct RecordingHandle 

Source
pub struct RecordingHandle {
    pub path: String,
    pub started_at: Instant,
    /* private fields */
}
Expand description

Handle to an active xcrun simctl io recordVideo child process. Pair with SimctlClient::record_video_stop for SIGINT-and-wait shutdown (so the mp4 trailer is flushed). Dropping the handle without stop would tokio-SIGKILL on Drop and truncate the output file.

Fields§

§path: String

Output mp4 path verbatim as passed to record_video_start.

§started_at: Instant

Wall-clock start time for “recording in progress for Xs” diagnostics.

Implementations§

Source§

impl RecordingHandle

Source

pub fn pid(&self) -> Option<u32>

Pid of the simctl io … recordVideo child.

Needed by anything that must record this process somewhere it will outlive us: a recording whose only handle is this struct dies with the process holding it, and the mp4 it was writing loses its trailer with no one left who knows to send the SIGINT that would have saved it.

None once the child has been reaped.

Trait Implementations§

Source§

impl Debug for RecordingHandle

Source§

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

Formats the value using the given formatter. Read more

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> 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.

Source§

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

Source§

type Error = !

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.