pub struct LocalTransport { /* private fields */ }Implementations§
Source§impl LocalTransport
impl LocalTransport
Sourcepub async fn attach(
handle: SessionHandle,
meta: ClientMeta,
) -> Result<(Self, AttachSnapshot), TransportError>
pub async fn attach( handle: SessionHandle, meta: ClientMeta, ) -> Result<(Self, AttachSnapshot), TransportError>
Attach in-process as a Mirror (= attach_with(.., Mirror)).
Sourcepub async fn attach_with(
handle: SessionHandle,
meta: ClientMeta,
mode: AttachMode,
) -> Result<(Self, AttachSnapshot), TransportError>
pub async fn attach_with( handle: SessionHandle, meta: ClientMeta, mode: AttachMode, ) -> Result<(Self, AttachSnapshot), TransportError>
Attach in-process: sends Attach, awaits the Attached envelope (bounded 5 s), returns the transport + snapshot.
pub fn handle(&self) -> &SessionHandle
Trait Implementations§
Source§impl ClientTransport for LocalTransport
impl ClientTransport for LocalTransport
fn session_id(&self) -> &SessionId
fn meta(&self) -> &SessionMeta
Source§fn send<'life0, 'async_trait>(
&'life0 self,
cmd: SessionCommand,
) -> Pin<Box<dyn Future<Output = Result<(), TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send<'life0, 'async_trait>(
&'life0 self,
cmd: SessionCommand,
) -> Pin<Box<dyn Future<Output = Result<(), TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Host-originated send (
from: None; bypasses input ownership).Source§fn send_from_self<'life0, 'async_trait>(
&'life0 self,
cmd: SessionCommand,
) -> Pin<Box<dyn Future<Output = Result<(), TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_from_self<'life0, 'async_trait>(
&'life0 self,
cmd: SessionCommand,
) -> Pin<Box<dyn Future<Output = Result<(), TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Send stamped with this client’s id (the TUI uses this; ownership is
enforced by the actor, B1).
Source§fn next_event<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Option<Envelope>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn next_event<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Option<Envelope>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Next envelope, or
None when the session ended / socket closed.Source§fn view(&self) -> Arc<RuntimeView> ⓘ
fn view(&self) -> Arc<RuntimeView> ⓘ
Sync, cheap, never stale by more than one
SettingChanged: what the
TUI’s getters read on day 2.Source§fn mode(&self) -> AttachMode
fn mode(&self) -> AttachMode
The mode this transport attached with.
Source§fn input_owner(&self) -> Option<ClientId>
fn input_owner(&self) -> Option<ClientId>
Current input owner — updated from
Attached / InputOwnerChanged.Source§fn reconnect<'life0, 'async_trait>(
&'life0 mut self,
_mode: AttachMode,
) -> Pin<Box<dyn Future<Output = Result<AttachSnapshot, TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reconnect<'life0, 'async_trait>(
&'life0 mut self,
_mode: AttachMode,
) -> Pin<Box<dyn Future<Output = Result<AttachSnapshot, TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Socket only (Local returns
Err(Unsupported)): after Reloading/EOF,
reconnect with backoff and re-attach with mode (C3/A4).Source§fn reconnect_once<'life0, 'async_trait>(
&'life0 mut self,
mode: AttachMode,
) -> Pin<Box<dyn Future<Output = Result<AttachSnapshot, TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reconnect_once<'life0, 'async_trait>(
&'life0 mut self,
mode: AttachMode,
) -> Pin<Box<dyn Future<Output = Result<AttachSnapshot, TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
F9: single reconnect attempt (no retry loop). Socket only.
Source§fn is_reload_pending(&self) -> bool
fn is_reload_pending(&self) -> bool
true if the daemon announced a reload before EOF (graceful). Always
false on LocalTransport.Source§fn daemon_pid(&self) -> u32
fn daemon_pid(&self) -> u32
The daemon pid from
Welcome. Returns 0 on LocalTransport.Auto Trait Implementations§
impl !RefUnwindSafe for LocalTransport
impl !UnwindSafe for LocalTransport
impl Freeze for LocalTransport
impl Send for LocalTransport
impl Sync for LocalTransport
impl Unpin for LocalTransport
impl UnsafeUnpin for LocalTransport
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
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.