async fn send_via_msg_sender<S, D>( msg_sender: &mut S, routing: DestinationRouting, data: D, error_context: &'static str, ) -> Result<()>where S: Sink<(DestinationRouting, ApplicationDataOut)> + Unpin, S::Error: Error + Send + Sync + Clone + 'static, D: TryInto<ApplicationData>, D::Error: Error + Send + Sync + 'static,