type ConnectPeerStream: futures_core::Stream<Item = Result<super::ConnectResponse, tonic::Status>>
+ Send
+ 'static;
async fn connect_peer(
&mut self,
request: tonic::Request<super::ConnectRequest>,
) -> Result<tonic::Response<Self::ConnectPeerStream>, tonic::Status>;
}
подскажите, как сделать, чтобы у &mut self был 'static лайфтайм в методе connect_peer?
async в трейте? Крейт async-trait? Должно быть достаточно &'static mut self, если async-trait это поддерживает. Но это будет значить, что connect_peer() можно будет вызвать только один раз, и после этого нельзя будет вызвать ни один метод, включая drop. Точно это нужно?
async в трейте, но без async-trait
Обсуждают сегодня