From 067e9784b54e4645412e5e7d8d7d2bc70bdcf646 Mon Sep 17 00:00:00 2001 From: Kevin J Hoerr Date: Tue, 29 Oct 2019 00:21:26 -0400 Subject: Split messages into separate module; add unit tests for each message type --- src/routes/messages/mod.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/routes/messages/mod.rs (limited to 'src/routes/messages/mod.rs') diff --git a/src/routes/messages/mod.rs b/src/routes/messages/mod.rs new file mode 100644 index 0000000..26ae1bb --- /dev/null +++ b/src/routes/messages/mod.rs @@ -0,0 +1,23 @@ +use std::marker::Sized; + +pub mod callback; +pub mod not_understood; + +#[derive(Serialize)] +pub struct OutgoingMsg { + pub result_type: String, + pub content: T, +} + +pub trait Message { + fn name(&self) -> String; + fn as_outgoing(self) -> OutgoingMsg + where + Self: Sized, + { + OutgoingMsg { + result_type: self.name(), + content: self, + } + } +} -- cgit