pub trait ControlProxyInterface: Send + Sync {
type RemoveAddressResponseFut: Future<Output = Result<ControlRemoveAddressResult, Error>> + Send;
type GetIdResponseFut: Future<Output = Result<u64, Error>> + Send;
type SetConfigurationResponseFut: Future<Output = Result<ControlSetConfigurationResult, Error>> + Send;
type GetConfigurationResponseFut: Future<Output = Result<ControlGetConfigurationResult, Error>> + Send;
type EnableResponseFut: Future<Output = Result<ControlEnableResult, Error>> + Send;
type DisableResponseFut: Future<Output = Result<ControlDisableResult, Error>> + Send;
type GetAuthorizationForInterfaceResponseFut: Future<Output = Result<GrantForInterfaceAuthorization, Error>> + Send;
type RemoveResponseFut: Future<Output = Result<ControlRemoveResult, Error>> + Send;
// Required methods
fn add_address(
&self,
address: &Subnet,
parameters: &AddressParameters,
address_state_provider: ServerEnd<AddressStateProviderMarker>,
) -> Result<(), Error>;
fn remove_address(&self, address: &Subnet) -> Self::RemoveAddressResponseFut;
fn get_id(&self) -> Self::GetIdResponseFut;
fn set_configuration(
&self,
config: &Configuration,
) -> Self::SetConfigurationResponseFut;
fn get_configuration(&self) -> Self::GetConfigurationResponseFut;
fn enable(&self) -> Self::EnableResponseFut;
fn disable(&self) -> Self::DisableResponseFut;
fn detach(&self) -> Result<(), Error>;
fn get_authorization_for_interface(
&self,
) -> Self::GetAuthorizationForInterfaceResponseFut;
fn remove(&self) -> Self::RemoveResponseFut;
}Required Associated Types§
type RemoveAddressResponseFut: Future<Output = Result<ControlRemoveAddressResult, Error>> + Send
type GetIdResponseFut: Future<Output = Result<u64, Error>> + Send
type SetConfigurationResponseFut: Future<Output = Result<ControlSetConfigurationResult, Error>> + Send
type GetConfigurationResponseFut: Future<Output = Result<ControlGetConfigurationResult, Error>> + Send
type EnableResponseFut: Future<Output = Result<ControlEnableResult, Error>> + Send
type DisableResponseFut: Future<Output = Result<ControlDisableResult, Error>> + Send
type GetAuthorizationForInterfaceResponseFut: Future<Output = Result<GrantForInterfaceAuthorization, Error>> + Send
type RemoveResponseFut: Future<Output = Result<ControlRemoveResult, Error>> + Send
Required Methods§
fn add_address( &self, address: &Subnet, parameters: &AddressParameters, address_state_provider: ServerEnd<AddressStateProviderMarker>, ) -> Result<(), Error>
fn remove_address(&self, address: &Subnet) -> Self::RemoveAddressResponseFut
fn get_id(&self) -> Self::GetIdResponseFut
fn set_configuration( &self, config: &Configuration, ) -> Self::SetConfigurationResponseFut
fn get_configuration(&self) -> Self::GetConfigurationResponseFut
fn enable(&self) -> Self::EnableResponseFut
fn disable(&self) -> Self::DisableResponseFut
fn detach(&self) -> Result<(), Error>
fn remove(&self) -> Self::RemoveResponseFut
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".