pub trait RemoteParticipantRegistry: Send + Sync {
// Required methods
fn remote_client_protocol(&self, identity: &ParticipantIdentity) -> i32;
fn remote_capabilities(
&self,
identity: &ParticipantIdentity,
) -> Vec<ClientCapability>;
fn remote_identities(&self) -> Vec<ParticipantIdentity>;
}Expand description
Read access to remote participants’ advertised protocol and capabilities.
Used by downstream modules like the the RPC transport (v1/v2 transport selection) and the data-stream send path (inline / compression eligibility) to determine what level of support a participant has for protocol level features.
Required Methods§
Sourcefn remote_client_protocol(&self, identity: &ParticipantIdentity) -> i32
fn remote_client_protocol(&self, identity: &ParticipantIdentity) -> i32
A remote participant’s client_protocol, or CLIENT_PROTOCOL_DEFAULT (0) if unknown.
Sourcefn remote_capabilities(
&self,
identity: &ParticipantIdentity,
) -> Vec<ClientCapability>
fn remote_capabilities( &self, identity: &ParticipantIdentity, ) -> Vec<ClientCapability>
A remote participant’s advertised capabilities, or empty if unknown.
Sourcefn remote_identities(&self) -> Vec<ParticipantIdentity>
fn remote_identities(&self) -> Vec<ParticipantIdentity>
The identities of every remote participant, used to resolve a broadcast send.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".