pub trait MacAddressingProxyInterface: Send + Sync {
type GetUnicastAddressResponseFut: Future<Output = Result<MacAddress, Error>> + Send;
type SetModeResponseFut: Future<Output = Result<i32, Error>> + Send;
type AddMulticastAddressResponseFut: Future<Output = Result<i32, Error>> + Send;
type RemoveMulticastAddressResponseFut: Future<Output = Result<i32, Error>> + Send;
// Required methods
fn get_unicast_address(&self) -> Self::GetUnicastAddressResponseFut;
fn set_mode(&self, mode: MacFilterMode) -> Self::SetModeResponseFut;
fn add_multicast_address(
&self,
address: &MacAddress,
) -> Self::AddMulticastAddressResponseFut;
fn remove_multicast_address(
&self,
address: &MacAddress,
) -> Self::RemoveMulticastAddressResponseFut;
}