Skip to main content

RemoteParticipantRegistry

Trait RemoteParticipantRegistry 

Source
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§

Source

fn remote_client_protocol(&self, identity: &ParticipantIdentity) -> i32

A remote participant’s client_protocol, or CLIENT_PROTOCOL_DEFAULT (0) if unknown.

Source

fn remote_capabilities( &self, identity: &ParticipantIdentity, ) -> Vec<ClientCapability>

A remote participant’s advertised capabilities, or empty if unknown.

Source

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

Implementors§