#[macro_export]
macro_rules! conn {
($addr:expr, $client:ty) => {{
use tonic::{codec::CompressionEncoding, transport::Endpoint};
let endpoint = Endpoint::from_shared($addr)?
.http2_keep_alive_interval(std::time::Duration::from_secs(60))
.keep_alive_while_idle(true);
$client::new(endpoint.connect().await?)
.send_compressed(CompressionEncoding::Gzip)
.accept_compressed(CompressionEncoding::Gzip);
}};
}