pub(super) fn start(self) {
        let is_load_balanced = matches!(self.client_options.load_balanced, Some(true));
        // Load balancer servers can't have a monitoring connection.
        if !is_load_balanced {
            let mut heartbeat_monitor = HeartbeatMonitor::new(
                self.address,
                Arc::downgrade(&self.server),
                self.topology.clone(),
                self.client_options,
            );
            RUNTIME.execute(async move {
                heartbeat_monitor.execute().await;
            });
        }

        let update_monitor = UpdateMonitor {
            server: Arc::downgrade(&self.server),
            topology: self.topology,
            update_receiver: self.update_receiver,
        };
        RUNTIME.execute(async move {
            update_monitor.execute().await;
        });
    }
/// Start the monitor tasks.
/// A weak reference is used to ensure that the monitor doesn't keep the topology alive after
/// it's been removed from the topology or the client has been dropped.
Start the monitor tasks.
A weak reference is used to ensure that the monitor doesn't keep the topology alive after
it's been removed from the topology or the client has been dropped.
Start the monitor tasks . A weak reference is used to ensure that the monitor doesn ' t keep the topology alive after it ' s been removed from the topology or the client has been dropped .
pub(super) fn start(self) {
        let is_load_balanced = matches!(self.client_options.load_balanced, Some(true));
        // Load balancer servers can't have a monitoring connection.
        if !is_load_balanced {
            let mut heartbeat_monitor = HeartbeatMonitor::new(
                self.address,
                Arc::downgrade(&self.server),
                self.topology.clone(),
                self.client_options,
            );
            RUNTIME.execute(async move {
                heartbeat_monitor.execute().await;
            });
        }
        let update_monitor = UpdateMonitor {
            server: Arc::downgrade(&self.server),
            topology: self.topology,
            update_receiver: self.update_receiver,
        };
        RUNTIME.execute(async move {
            update_monitor.execute().await;
        });
    }
pub ( super ) fn start ( self ) { let is_load_balanced = matches ! ( self client_options load_balanced Some ( true ) ) ; // Load balancer servers can't have a monitoring connection. if ! is_load_balanced { let mut heartbeat_monitor = HeartbeatMonitor :: new ( self . address , Arc :: downgrade ( & self . server ) , self . topology . clone ( ) , self . client_options , ) ; RUNTIME . execute ( async move { heartbeat_monitor . execute ( ) . await ; } ) ; } let update_monitor = UpdateMonitor { server : Arc :: downgrade ( & self . server ) , topology : self . topology , update_receiver : self . update_receiver , } ; RUNTIME . execute ( async move { update_monitor . execute ( ) . await ; } ) ; }
Start the monitor tasks.
Start the monitor tasks .
self
self