Browse Source

Rename Message to RoomMessage.

main
Titouan Rigoudy 2 years ago
parent
commit
4c9b016d61
5 changed files with 32 additions and 32 deletions
  1. +1
    -1
      client/src/client.rs
  2. +6
    -6
      client/src/control/response.rs
  3. +6
    -6
      client/src/handlers/room_message_response_handler.rs
  4. +6
    -6
      client/src/room/map.rs
  5. +13
    -13
      client/src/room/state.rs

+ 1
- 1
client/src/client.rs View File

@ -613,7 +613,7 @@ impl Client {
}
};
let message = room::Message {
let message = room::RoomMessage {
received_at: std::time::SystemTime::now(),
user_name: response.user_name.clone(),
message: response.message.clone(),


+ 6
- 6
client/src/control/response.rs View File

@ -1,7 +1,7 @@
use serde::{Deserialize, Serialize};
use solstice_proto::User;
use crate::room::{Message, RoomState};
use crate::room::{RoomMessage, RoomState};
/// This enumeration is the list of possible control responses from the client
/// to the controller.
@ -72,7 +72,7 @@ pub struct RoomMessageResponse {
/// The name of the room in which the message was said.
pub room_name: String,
/// The message itself.
pub message: Message,
pub message: RoomMessage,
}
/// This struct describes the fact that the given user joined the given room.
@ -110,7 +110,7 @@ mod tests {
use solstice_proto::{User, UserStatus};
use crate::room::{
Message, MessageHistory, RoomMembership, RoomState, RoomVisibility,
RoomMessage, RoomMessageHistory, RoomMembership, RoomState, RoomVisibility,
};
use super::{
@ -202,7 +202,7 @@ mod tests {
owner: None,
operators: HashSet::new(),
members: HashSet::new(),
messages: MessageHistory::default(),
messages: RoomMessageHistory::default(),
tickers: vec![],
}
}
@ -236,7 +236,7 @@ mod tests {
.unwrap(),
RoomMessageResponse {
room_name: "bleep".to_string(),
message: Message {
message: RoomMessage {
user_name: "karandeep".to_string(),
message: "namaste".to_string(),
received_at: SystemTime::UNIX_EPOCH + Duration::from_secs(42),
@ -277,7 +277,7 @@ mod tests {
owner: None,
operators: HashSet::new(),
members: HashSet::new(),
messages: MessageHistory::default(),
messages: RoomMessageHistory::default(),
tickers: vec![],
}
)],


+ 6
- 6
client/src/handlers/room_message_response_handler.rs View File

@ -4,7 +4,7 @@ use solstice_proto::server;
use crate::context::Context;
use crate::control;
use crate::message_handler::MessageHandler;
use crate::room::Message as RoomMessage;
use crate::room::RoomMessage;
#[derive(Debug, Default)]
pub struct RoomMessageResponseHandler;
@ -58,7 +58,7 @@ mod tests {
use crate::context::{ContextBundle, ContextOptions};
use crate::control;
use crate::message_handler::MessageHandler;
use crate::room::{Message, RoomState, RoomVisibility};
use crate::room::{RoomMessage, RoomState, RoomVisibility};
use super::RoomMessageResponseHandler;
@ -98,7 +98,7 @@ mod tests {
response,
control::Response::RoomMessageResponse(control::RoomMessageResponse {
room_name: "apple".to_string(),
message: Message {
message: RoomMessage {
user_name: "shruti".to_string(),
message: "yo!".to_string(),
received_at: SystemTime::UNIX_EPOCH + Duration::from_secs(42),
@ -110,7 +110,7 @@ mod tests {
#[test]
fn run_stores_message() {
let mut room = RoomState::new(RoomVisibility::Public, 42);
room.messages.insert(Message {
room.messages.insert(RoomMessage {
received_at: system_time_from_secs(42),
user_name: "karandeep".to_string(),
message: "namaste!".to_string(),
@ -147,12 +147,12 @@ mod tests {
assert_eq!(
room.messages.to_vec(),
vec![
Message {
RoomMessage {
received_at: system_time_from_secs(42),
user_name: "karandeep".to_string(),
message: "namaste!".to_string(),
},
Message {
RoomMessage {
received_at: system_time_from_secs(43),
user_name: "shruti".to_string(),
message: "yo!".to_string(),


+ 6
- 6
client/src/room/map.rs View File

@ -278,7 +278,7 @@ mod tests {
use solstice_proto::server::RoomListResponse;
use crate::room::{
Message, MessageHistory, RoomMembership, RoomState, RoomVisibility,
RoomMessage, RoomMessageHistory, RoomMembership, RoomState, RoomVisibility,
};
use super::RoomMap;
@ -302,7 +302,7 @@ mod tests {
#[test]
fn deserialize_message() {
assert_eq!(
serde_json::from_str::<Message>(
serde_json::from_str::<RoomMessage>(
r#"{
"received_at": { "secs_since_epoch": 42, "nanos_since_epoch": 1337 },
"user_name":"karandeep",
@ -310,7 +310,7 @@ mod tests {
}"#
)
.unwrap(),
Message {
RoomMessage {
received_at: SystemTime::UNIX_EPOCH
+ Duration::from_secs(42)
+ Duration::from_nanos(1337),
@ -362,13 +362,13 @@ mod tests {
.iter()
.cloned()
.collect(),
messages: MessageHistory::new(vec![
Message {
messages: RoomMessageHistory::new(vec![
RoomMessage {
received_at: SystemTime::UNIX_EPOCH + Duration::from_secs(42),
user_name: "u1".to_string(),
message: "msg1".to_string(),
},
Message {
RoomMessage {
received_at: SystemTime::UNIX_EPOCH + Duration::from_secs(43),
user_name: "u2".to_string(),
message: "msg2".to_string(),


+ 13
- 13
client/src/room/state.rs View File

@ -34,7 +34,7 @@ pub enum RoomVisibility {
#[derive(
Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Serialize, Deserialize,
)]
pub struct Message {
pub struct RoomMessage {
/// Time at which the message was received by this client.
///
/// We use `SystemTime` instead of `Instant` because this is serialized and
@ -53,24 +53,24 @@ pub struct Message {
/// The history of messages sent for a single chat room.
#[derive(Clone, Debug, Default, Eq, PartialEq)]
pub struct MessageHistory {
pub struct RoomMessageHistory {
/// Messages, sorted in increasing order.
messages: Vec<Message>,
messages: Vec<RoomMessage>,
}
// MessageHistory should be transparent for serialization purposes.
impl<'de> Deserialize<'de> for MessageHistory {
impl<'de> Deserialize<'de> for RoomMessageHistory {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let messages = Vec::<Message>::deserialize(deserializer)?;
let messages = Vec::<RoomMessage>::deserialize(deserializer)?;
Ok(Self::new(messages))
}
}
// MessageHistory should be transparent for serialization purposes.
impl Serialize for MessageHistory {
// RoomMessageHistory should be transparent for serialization purposes.
impl Serialize for RoomMessageHistory {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
@ -79,14 +79,14 @@ impl Serialize for MessageHistory {
}
}
impl MessageHistory {
pub fn new(mut messages: Vec<Message>) -> Self {
impl RoomMessageHistory {
pub fn new(mut messages: Vec<RoomMessage>) -> Self {
messages.sort();
Self { messages }
}
/// Inserts a `message` into this history.
pub fn insert(&mut self, message: Message) {
pub fn insert(&mut self, message: RoomMessage) {
self.messages.push(message);
// This could be terrible for performance in the general case, but we know
@ -97,7 +97,7 @@ impl MessageHistory {
#[cfg(test)]
/// Returns the list of messages sorted in increasing chronological order.
pub fn to_vec(&self) -> Vec<Message> {
pub fn to_vec(&self) -> Vec<RoomMessage> {
return self.messages.clone();
}
}
@ -123,7 +123,7 @@ pub struct RoomState {
/// The names of the room's members.
pub members: HashSet<String>,
/// The messages sent to this chat room.
pub messages: MessageHistory,
pub messages: RoomMessageHistory,
/// The tickers displayed in this room.
pub tickers: Vec<(String, String)>,
}
@ -139,7 +139,7 @@ impl RoomState {
owner: None,
operators: HashSet::new(),
members: HashSet::new(),
messages: MessageHistory::default(),
messages: RoomMessageHistory::default(),
tickers: Vec::new(),
}
}


Loading…
Cancel
Save