From: Ian Jackson Date: Sat, 30 Jan 2021 11:12:55 +0000 (+0000) Subject: hidden prep: Pass player to json_len() methods X-Git-Tag: otter-0.4.0~606 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=c4c448b74d71bb60c20af940d76e8c4de1d6e52f;p=otter.git hidden prep: Pass player to json_len() methods NFC right now. We are going to want this later. Signed-off-by: Ian Jackson --- diff --git a/src/sse.rs b/src/sse.rs index f05422c4..9d3cad75 100644 --- a/src/sse.rs +++ b/src/sse.rs @@ -132,7 +132,7 @@ impl Read for UpdateReader { break } }; - let next_len = UPDATE_MAX_FRAMING_SIZE + next.json_len(); + let next_len = UPDATE_MAX_FRAMING_SIZE + next.json_len(self.player); if next_len > buf.len() { if buf.len() != orig_wanted { break } diff --git a/src/updates.rs b/src/updates.rs index ffc49a86..5ff17001 100644 --- a/src/updates.rs +++ b/src/updates.rs @@ -211,13 +211,13 @@ impl PlayerUpdates { } impl PreparedUpdate { - pub fn json_len(&self) -> usize { - self.us.iter().map(|u| 20 + u.json_len()).sum() + pub fn json_len(&self, player: PlayerId) -> usize { + self.us.iter().map(|u| 20 + u.json_len(player)).sum() } } impl PreparedUpdateEntry_Piece { - pub fn json_len(&self) -> usize { + pub fn json_len(&self, _player: PlayerId) -> usize { let PUE_P { ref op, .. } = self; 50 + op.new_state().map(|x| x.svg.0.as_bytes().len()).unwrap_or(0) @@ -225,11 +225,11 @@ impl PreparedUpdateEntry_Piece { } impl PreparedUpdateEntry { - pub fn json_len(&self) -> usize { + pub fn json_len(&self, player: PlayerId) -> usize { use PreparedUpdateEntry::*; match self { Piece(op) => { - op.json_len() + op.json_len(player) } Log(logent) => { logent.logent.html.0.as_bytes().len() * 28 @@ -254,7 +254,7 @@ impl PreparedUpdateEntry { ).sum::() + 50 } Error(ESVU::PieceOpError { state, .. }) => { - 100 + state.json_len() + 100 + state.json_len(player) } Error(ESVU::InternalError) | Error(ESVU::PlayerRemoved) |