30 lines
688 B
Rust
Raw Normal View History

use {Message, Channel, User};
use std::sync::Arc;
pub enum Event {
2017-02-19 18:21:11 -06:00
Message { message: Message }, // A user sends a message
SelfJoin { channel: Channel }, // We join a channel
SelfQuit { channel: Channel }, // We quit a channel
UserJoin { channel: Channel, user: User }, // A user joins a channel
UserQuit { channel: Channel, user: User } // A user quits a channel
}
pub struct Envelope {
pub from: Option<String>,
pub event: Arc<Event>,
pub to: Vec<String>
}
impl Envelope {
pub fn new (event: Event) -> Envelope {
Envelope {
from: None,
event: Arc::new(event),
to: vec![]
}
}
}