Skip to main content

IpcClient

Struct IpcClient 

Source
pub struct IpcClient { /* private fields */ }
Expand description

IPC client for communicating with the headless sidecar service.

Connects to the sidecar’s Unix domain socket and translates method calls into IpcRequest messages. Responses are decoded from IpcResponse frames.

Events from the sidecar (started/stopped/error) are read as IpcEvent frames and converted to PluginEvent for emission via the Tauri event system.

Implementations§

Source§

impl IpcClient

Source

pub async fn connect(path: PathBuf) -> Result<Self, ServiceError>

Connect to the sidecar’s IPC socket at the given path.

Source

pub async fn start(&mut self, config: StartConfig) -> Result<(), ServiceError>

Send a Start command to the sidecar.

Source

pub async fn stop(&mut self) -> Result<(), ServiceError>

Send a Stop command to the sidecar.

Source

pub async fn is_running(&mut self) -> Result<bool, ServiceError>

Send an IsRunning query to the sidecar.

Source

pub async fn get_state(&mut self) -> Result<ServiceStatus, ServiceError>

Query the current service lifecycle state.

Source

pub async fn read_event(&mut self) -> Result<Option<IpcEvent>, ServiceError>

Read the next IpcEvent from the socket.

Returns None if the connection was closed.

Source

pub fn listen_events<R: Runtime>(self, app: AppHandle<R>)

Spawn a background task that reads IpcEvent frames and emits PluginEvent via the given AppHandle.

The task runs until the socket is closed or an error occurs.

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more