#arrayvec = "0"
#toml = "0.5"
-serde = { version = "1", features = ["derive"] }
+serde = { version = "1", features = ["derive","rc"] }
serde_json = "1"
htmlescape = "0.3"
});
for logentry in logents {
- let logentry = LogEntryRef(Arc::new(logentry));
+ let logentry = Arc::new(logentry);
gs.log.push((gen, logentry.clone()));
us.push(PreparedUpdateEntry::Log(logentry));
}
pub nick : String,
}
-#[derive(Debug,Clone)]
-pub struct LogEntryRef(pub Arc<LogEntry>);
+pub type LogEntryRef = Arc<LogEntry>;
#[derive(Debug,Serialize,Deserialize)]
pub struct LogEntry {
// ---------- game state - rendering etc. ----------
-impl Serialize for LogEntryRef {
- #[throws(S::Error)]
- fn serialize<S:Serializer>(&self, s: S) -> S::Ok {
- self.0.serialize(s)?
- }
-}
-
-impl<'d> Deserialize<'d> for LogEntryRef {
- #[throws(D::Error)]
- fn deserialize<D:Deserializer<'d>>(d: D) -> LogEntryRef {
- let l : LogEntry = <LogEntry as Deserialize<'_>>::deserialize(d)?;
- LogEntryRef(Arc::new(l))
- }
-}
-
impl PieceState {
#[throws(SE)]
pub fn make_defs(&self, pri : &PieceRenderInstructions) -> String {
op.new_state().map(|x| x.svg.len()).unwrap_or(0)
},
Log(logent) => {
- logent.0.html.as_bytes().len() * 3
+ logent.html.as_bytes().len() * 3
}
}
}
TransmitUpdateEntry::Piece { piece, op }
},
PreparedUpdateEntry::Log(logent) => {
- TransmitUpdateEntry::Log(&logent.0)
+ TransmitUpdateEntry::Log(&logent)
},
};
ents.push(ue);