From e1b3a6afe8ef321b3958e2cc1953b9ee601369c1 Mon Sep 17 00:00:00 2001 From: Georgy Moshkin <gmoshkin@picodata.io> Date: Mon, 15 Aug 2022 13:15:28 +0300 Subject: [PATCH] feat: log event broadcasting --- src/traft/event.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/traft/event.rs b/src/traft/event.rs index b3687172df..02b5cf26dc 100644 --- a/src/traft/event.rs +++ b/src/traft/event.rs @@ -9,6 +9,7 @@ use ::tarantool::fiber::{mutex::MutexGuard, Cond, Mutex}; use ::tarantool::proc; use ::tarantool::unwrap_or; +use crate::tlog; use crate::traft::error::Error; use crate::unwrap_ok_or; use thiserror::Error; @@ -166,12 +167,14 @@ pub fn wait_any(evs: &[Event]) -> Result<(), Error> { /// /// If `EVENTS` is uninitialized, nothing happens pub fn broadcast(event: impl Borrow<Event>) { + let event = event.borrow(); + tlog!(Debug, "broadcast"; "event" => event.as_str()); let mut events = unwrap_ok_or!(events(), Err(_) => return); - events.broadcast_repeated(event.borrow()); - let handler = unwrap_or!(events.once_handler(event.borrow()), return); + events.broadcast_repeated(event); + let handler = unwrap_or!(events.once_handler(event), return); if let Err(e) = handler.handle() { - crate::tlog!(Warning, "error happened during handling of event: {e}"; - "event" => event.borrow().as_str(), + tlog!(Warning, "error happened during handling of event: {e}"; + "event" => event.as_str(), ) } } @@ -192,6 +195,7 @@ pub fn broadcast_when(target: Event, when: Event) -> Result<(), Error> { events.add_once_handler( when, handler(move || { + tlog!(Debug, "broadcast"; "event" => target.as_str()); cond.broadcast(); Ok(()) }), -- GitLab