From 54b9694f0d0d7e853592317d60ad262ae8c13568 Mon Sep 17 00:00:00 2001 From: Ilion Beyst Date: Wed, 23 Feb 2022 21:08:56 +0100 Subject: implement matchlogger --- planetwars-matchrunner/src/match_context.rs | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'planetwars-matchrunner/src/match_context.rs') diff --git a/planetwars-matchrunner/src/match_context.rs b/planetwars-matchrunner/src/match_context.rs index 8161ed9..6ea60c3 100644 --- a/planetwars-matchrunner/src/match_context.rs +++ b/planetwars-matchrunner/src/match_context.rs @@ -1,8 +1,6 @@ use futures::task::{Context, Poll}; use futures::{future::Future, task::AtomicWaker}; use serde::{Deserialize, Serialize}; -use std::fs::File; -use std::io::Write; use std::pin::Pin; use std::time::Duration; use std::{ @@ -10,6 +8,8 @@ use std::{ sync::{Arc, Mutex}, }; +use crate::match_log::{MatchLogMessage, MatchLogger}; + #[derive(Serialize, Deserialize, Debug)] pub struct RequestMessage { pub request_id: u32, @@ -20,16 +20,14 @@ pub struct RequestMessage { pub struct MatchCtx { event_bus: Arc>, players: HashMap, - // output: MsgStreamHandle, - log_sink: File, + match_logger: MatchLogger, } impl MatchCtx { pub fn new( event_bus: Arc>, players: HashMap>, - log_file: File, - // log: MsgStreamHandle, + match_logger: MatchLogger, ) -> Self { MatchCtx { event_bus, @@ -43,7 +41,7 @@ impl MatchCtx { (id, player_handle) }) .collect(), - log_sink: log_file, + match_logger, } } @@ -70,9 +68,8 @@ impl MatchCtx { self.players.keys().cloned().collect() } - // this method should be used to emit log states etc. - pub fn log_string(&mut self, message: String) { - write!(self.log_sink, "{}\n", message).expect("failed to write to log file"); + pub fn log(&mut self, message: MatchLogMessage) { + self.match_logger.send(message).expect("write failed"); } } -- cgit v1.2.3