pub trait ProtocolBProxyInterface: Send + Sync { type FooResponseFut: Future<Output = Result<(), Error>> + Send; // Required method fn foo(&self) -> Self::FooResponseFut; }