pub async fn connect_with_auth<T: Transport>(
    transport: T,
    addr: SocketAddr,
    auth_key: [u8; 256],
    rc_policy: &'static dyn ReconnectionPolicy
) -> Result<(Sender<T, Encrypted>, Enqueuer), Error>