pub trait SessionProxyInterface: Send + Sync {
type AttachResponseFut: Future<Output = Result<SessionAttachResult, Error>> + Send;
type DetachResponseFut: Future<Output = Result<SessionDetachResult, Error>> + Send;
type WatchDelegatedRxLeaseResponseFut: Future<Output = Result<DelegatedRxLease, Error>> + Send;
// Required methods
fn attach(
&self,
port: &PortId,
rx_frames: &[FrameType],
) -> Self::AttachResponseFut;
fn detach(&self, port: &PortId) -> Self::DetachResponseFut;
fn close(&self) -> Result<(), Error>;
fn watch_delegated_rx_lease(&self) -> Self::WatchDelegatedRxLeaseResponseFut;
}