fn process_pacemaker_actions()

in librabft-v2/src/node.rs [179:202]


    fn process_pacemaker_actions(
        &mut self,
        pacemaker_actions: PacemakerUpdateActions<Context>,
        clock: NodeTime,
        context: &mut Context,
    ) -> NodeUpdateActions<Context> {
        let actions = NodeUpdateActions {
            next_scheduled_update: pacemaker_actions.next_scheduled_update,
            should_broadcast: pacemaker_actions.should_broadcast,
            should_query_all: pacemaker_actions.should_query_all,
            should_send: pacemaker_actions.should_send,
        };
        if let Some(round) = pacemaker_actions.should_create_timeout {
            self.record_store
                .create_timeout(context.author(), round, context);
            // Prevent voting at a round for which we have created a timeout already.
            self.latest_voted_round.max_update(round);
        }
        if let Some(previous_qc_hash) = pacemaker_actions.should_propose_block {
            self.record_store
                .propose_block(context, previous_qc_hash, clock);
        }
        actions
    }