From b3a313f8e5e0185104727e75747251121eddf92d Mon Sep 17 00:00:00 2001 From: Kevin J Hoerr Date: Wed, 30 Oct 2019 09:40:39 -0400 Subject: Refactor messages module to be separate from routes and easily referencable --- src/messages/mod.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/messages/mod.rs (limited to 'src/messages/mod.rs') diff --git a/src/messages/mod.rs b/src/messages/mod.rs new file mode 100644 index 0000000..ca74078 --- /dev/null +++ b/src/messages/mod.rs @@ -0,0 +1,26 @@ +use std::marker::Sized; + +pub mod callback; +pub mod not_understood; + +pub use self::callback::Callback; +pub use self::not_understood::NotUnderstood; + +#[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