pub fn maybe_initialize(
        duration: Option<Duration>,
    ) -> (Option<ShutdownTask>, Option<Arc<Mutex<ConnTracker>>>) {
        match duration {
            Some(duration) => {
                let task = Self::initialize(duration);
                let tracker = task.tracker();
                (Some(task), Some(tracker))
            }
            None => (None, None),
        }
    }
/// Given an optional timeout, will either create the shutdown task or not,
/// returning an optional shutdown task alongside an optional connection tracker
Given an optional timeout, will either create the shutdown task or not,
returning an optional shutdown task alongside an optional connection tracker
Given an optional timeout will either create the shutdown task or not returning an optional shutdown task alongside an optional connection tracker
pub fn maybe_initialize(
        duration: Option<Duration>,
    ) -> (Option<ShutdownTask>, Option<Arc<Mutex<ConnTracker>>>) {
        match duration {
            Some(duration) => {
                let task = Self::initialize(duration);
                let tracker = task.tracker();
                (Some(task), Some(tracker))
            }
            None => (None, None),
        }
    }
pub fn maybe_initialize ( duration : Option < Duration > , ) -> ( Option < ShutdownTask > , Option < Arc < Mutex < ConnTracker > > > ) { match duration { Some ( duration ) => { let task = Self :: initialize ( duration ) ; let tracker = task . tracker ( ) ; ( Some ( task ) , Some ( tracker ) ) } None => ( None , None ) , } }
Given an optional timeout, will either create the shutdown task or not,
returning an optional shutdown task alongside an optional connection tracker
Given an optional timeout will either create the shutdown task or not returning an optional shutdown task alongside an optional connection tracker
duration
Option<Duration>