pub struct RemoteMobProxy { /* private fields */ }Expand description
A proxy for a mob that lives in a different process.
Phase 1: a structural placeholder. The methods are stubs that return
RemoteMobError::ControlChannelUnavailable so call sites can be
written against the final shape; Phase 2 will replace these with a
real control-channel client.
Implementations§
Source§impl RemoteMobProxy
impl RemoteMobProxy
Sourcepub fn from_entry(entry: &ContactEntry) -> Result<Option<Self>, RemoteMobError>
pub fn from_entry(entry: &ContactEntry) -> Result<Option<Self>, RemoteMobError>
Build a proxy from a contact-directory entry. Returns None for
Inproc entries — those are served by an Arc<MobHandle> via
LocalOrRemote::Local instead.
Sourcepub fn endpoint(&self) -> &RemoteEndpoint
pub fn endpoint(&self) -> &RemoteEndpoint
The peer mob’s control endpoint.
Sourcepub async fn wire_remote(
&self,
remote_member: &str,
local_peer_spec_address: &str,
local_comms_name: &str,
local_peer_id: &str,
local_pubkey_b64: Option<String>,
) -> Result<(), RemoteMobError>
pub async fn wire_remote( &self, remote_member: &str, local_peer_spec_address: &str, local_comms_name: &str, local_peer_id: &str, local_pubkey_b64: Option<String>, ) -> Result<(), RemoteMobError>
Wire a peer on the remote side.
Sends a Wire control request to the peer gateway over its
configured TCP/UDS endpoint. The remote side calls
MobHandle::wire(local_member, PeerTarget::External(spec)) and
responds with Ok or Err.
Sourcepub async fn unwire_remote(
&self,
remote_member: &str,
local_peer_spec_address: &str,
local_comms_name: &str,
local_peer_id: &str,
local_pubkey_b64: Option<String>,
) -> Result<(), RemoteMobError>
pub async fn unwire_remote( &self, remote_member: &str, local_peer_spec_address: &str, local_comms_name: &str, local_peer_id: &str, local_pubkey_b64: Option<String>, ) -> Result<(), RemoteMobError>
Unwire a peer on the remote side. Symmetric with Self::wire_remote.
Sourcepub async fn inject_message(
&self,
remote_member: &str,
content_json: Value,
) -> Result<String, RemoteMobError>
pub async fn inject_message( &self, remote_member: &str, content_json: Value, ) -> Result<String, RemoteMobError>
Inject an external-turn message into a remote member’s session.
Returns the bridge session id that accepted the injection, so the
caller can correlate downstream events. Mirrors the local
MobHandle::send shape used by send_cross_mob.
Sourcepub async fn lookup_member(
&self,
remote_member: &str,
) -> Result<(String, String), RemoteMobError>
pub async fn lookup_member( &self, remote_member: &str, ) -> Result<(String, String), RemoteMobError>
Look up a remote member’s peer info via the control channel.
Used during wire_cross_mob to discover what TrustedPeerDescriptor
to build for the local-side wire without caller-supplied bookkeeping.
Trait Implementations§
Source§impl Clone for RemoteMobProxy
impl Clone for RemoteMobProxy
Source§fn clone(&self) -> RemoteMobProxy
fn clone(&self) -> RemoteMobProxy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for RemoteMobProxy
impl RefUnwindSafe for RemoteMobProxy
impl Send for RemoteMobProxy
impl Sync for RemoteMobProxy
impl Unpin for RemoteMobProxy
impl UnsafeUnpin for RemoteMobProxy
impl UnwindSafe for RemoteMobProxy
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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