whispeer 0.0.1

A plugin-based pub/sub messaging system
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use serde::{Deserialize, Serialize};

pub trait MessageLocal<'a>: 'a + Send + Sync + Clone {}
impl<'a, T: 'a + Send + Sync + Clone> MessageLocal<'a> for T {}

pub trait MessageSend<'a>: MessageLocal<'a> + Serialize {}
impl<'a, T: MessageLocal<'a> + Serialize> MessageSend<'a> for T {}

pub trait MessageRecv<'a>: MessageLocal<'a> + Deserialize<'a> {}
impl<'a, T: MessageLocal<'a> + Deserialize<'a>> MessageRecv<'a> for T {}

pub trait Message<'a>: MessageSend<'a> + MessageRecv<'a> {}
impl<'a, T: MessageRecv<'a> + MessageSend<'a>> Message<'a> for T {}