pub trait TopologyControlProxyInterface: Send + Sync {
type CreateResponseFut: Future<Output = Result<TopologyControlCreateResult, Error>> + Send;
type AcquireLeaseResponseFut: Future<Output = Result<TopologyControlAcquireLeaseResult, Error>> + Send;
type DropLeaseResponseFut: Future<Output = Result<TopologyControlDropLeaseResult, Error>> + Send;
type OpenStatusChannelResponseFut: Future<Output = Result<TopologyControlOpenStatusChannelResult, Error>> + Send;
// Required methods
fn create(&self, elements: &[Element]) -> Self::CreateResponseFut;
fn acquire_lease(
&self,
element_name: &str,
level: u8,
wait_for_status: LeaseStatus,
) -> Self::AcquireLeaseResponseFut;
fn drop_lease(&self, element_name: &str) -> Self::DropLeaseResponseFut;
fn open_status_channel(
&self,
element_name: &str,
status_channel: ServerEnd<StatusMarker>,
) -> Self::OpenStatusChannelResponseFut;
}Required Associated Types§
type CreateResponseFut: Future<Output = Result<TopologyControlCreateResult, Error>> + Send
type AcquireLeaseResponseFut: Future<Output = Result<TopologyControlAcquireLeaseResult, Error>> + Send
type DropLeaseResponseFut: Future<Output = Result<TopologyControlDropLeaseResult, Error>> + Send
type OpenStatusChannelResponseFut: Future<Output = Result<TopologyControlOpenStatusChannelResult, Error>> + Send
Required Methods§
fn create(&self, elements: &[Element]) -> Self::CreateResponseFut
fn acquire_lease( &self, element_name: &str, level: u8, wait_for_status: LeaseStatus, ) -> Self::AcquireLeaseResponseFut
fn drop_lease(&self, element_name: &str) -> Self::DropLeaseResponseFut
fn open_status_channel( &self, element_name: &str, status_channel: ServerEnd<StatusMarker>, ) -> Self::OpenStatusChannelResponseFut
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".