async fn poller(&self) {
        loop {
            // collect all the nodes from the node service and then collect
            // all the nexus and pool information from the nodes themselves
            // (depending on the specific trait implementations of T)
            let found_nodes = T::fetch_nodes().await;
            if let Ok(found_nodes) = found_nodes {
                self.mark_missing_nodes(&found_nodes).await;

                for node in &found_nodes {
                    // todo: add "last seen online" kind of thing to the node to
                    // avoid retrying to connect to a crashed/missed node over
                    // and over again when the node service
                    // is not aware of this yet.
                    self.found_node(node).await;
                }
            }

            self.trace_all().await;
            tokio::time::delay_for(self.update_period).await;
        }
    }
/// Poll the node service for the current nodes it knows about
/// and update our view of their resources by querying the specific
/// mayastor instances themselves
Poll the node service for the current nodes it knows about
and update our view of their resources by querying the specific
mayastor instances themselves
Poll the node service for the current nodes it knows about and update our view of their resources by querying the specific mayastor instances themselves
async fn poller(&self) {
        loop {
            // collect all the nodes from the node service and then collect
            // all the nexus and pool information from the nodes themselves
            // (depending on the specific trait implementations of T)
            let found_nodes = T::fetch_nodes().await;
            if let Ok(found_nodes) = found_nodes {
                self.mark_missing_nodes(&found_nodes).await;
                for node in &found_nodes {
                    // todo: add "last seen online" kind of thing to the node to
                    // avoid retrying to connect to a crashed/missed node over
                    // and over again when the node service
                    // is not aware of this yet.
                    self.found_node(node).await;
                }
            }
            self.trace_all().await;
            tokio::time::delay_for(self.update_period).await;
        }
    }
async fn poller ( & self ) { loop { // collect all the nodes from the node service and then collect // all the nexus and pool information from the nodes themselves // (depending on the specific trait implementations of T) let found_nodes = T :: fetch_nodes ( ) . await ; if let Ok ( found_nodes ) = found_nodes { self . mark_missing_nodes ( & found_nodes ) . await ; for node in & found_nodes { // todo: add "last seen online" kind of thing to the node to // avoid retrying to connect to a crashed/missed node over // and over again when the node service // is not aware of this yet. self . found_node ( node ) . await ; } } self . trace_all ( ) . await ; tokio :: time :: delay_for ( self . update_period ) . await ; } }
Poll the node service for the current nodes it knows about
and update our view of their resources by querying the specific
mayastor instances themselves
Poll the node service for the current nodes it knows about and update our view of their resources by querying the specific mayastor instances themselves
&self