Radish alpha
r
rad:zwTxygwuz5LDGBq255RA2CbNGrz8
Radicle CI broker
Radicle
Git
refactor: use custom type instead of boolean, for clarity
Lars Wirzenius committed 10 months ago
commit 246068c68985d2886661edc79eec58c00c998586
parent 9a45e3f
2 files changed +16 -6
modified src/logger.rs
@@ -19,7 +19,7 @@ use crate::{
    node_event_source::NodeEventSource,
    pages::PageError,
    queueadd::AdderError,
-
    queueproc::QueueError,
+
    queueproc::{MaybeShutdown, QueueError},
    run::Run,
    timeoutcmd::TimeoutError,
};
@@ -543,7 +543,7 @@ pub fn queueproc_trigger(result: &Result<Request, QueueError>) {
    );
}

-
pub fn queueproc_processed_event(result: &Result<bool, QueueError>) {
+
pub fn queueproc_processed_event(result: &Result<MaybeShutdown, QueueError>) {
    info!(
        msg_id = ?Id::QueueProcProcessedEvent,
        kind = %Kind::GotEvent,
modified src/queueproc.rs
@@ -392,7 +392,7 @@ impl EventProcessor {
        let res = self.process_event(qe.event(), adapter);
        logger::queueproc_processed_event(&res);
        match res {
-
            Ok(shut_down) => done = shut_down,
+
            Ok(shut_down) => done = shut_down == MaybeShutdown::Shutdown,
            Err(QueueError::BuildTrigger(_, _)) => done = false,
            Err(err) => Err(err)?,
        }
@@ -400,10 +400,14 @@ impl EventProcessor {
        Ok(done)
    }

-
    fn process_event(&self, event: &CiEvent, adapter: &Adapter) -> Result<bool, QueueError> {
+
    fn process_event(
+
        &self,
+
        event: &CiEvent,
+
        adapter: &Adapter,
+
    ) -> Result<MaybeShutdown, QueueError> {
        if matches!(event, CiEvent::V1(CiEventV1::Shutdown)) {
            logger::queueproc_action_shutdown();
-
            Ok(true)
+
            Ok(MaybeShutdown::Shutdown)
        } else {
            logger::queueproc_action_run(event);

@@ -419,7 +423,7 @@ impl EventProcessor {
                .execute_ci(adapter, &trigger, &self.run_tx)
                .map_err(QueueError::execute_ci)?;

-
            Ok(false)
+
            Ok(MaybeShutdown::Continue)
        }
    }
}
@@ -435,6 +439,12 @@ impl Worker for EventProcessor {
    }
}

+
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+
pub enum MaybeShutdown {
+
    Shutdown,
+
    Continue,
+
}
+

struct AdapterResults {
    rx: Receiver<RepoId>,
    current: CurrentlyPicked,