From e3f554218acdf2582176d52684fc5c983bb6cb97 Mon Sep 17 00:00:00 2001 From: Anton Tarasenko Date: Fri, 23 Jul 2021 01:31:40 +0700 Subject: [PATCH] Refactor `push_byte`'s code Move logic below error checking with early exit. --- src/link/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/link/mod.rs b/src/link/mod.rs index 0fce536..f9b69a6 100644 --- a/src/link/mod.rs +++ b/src/link/mod.rs @@ -100,7 +100,6 @@ impl MessageReader { self.read_bytes += 1; if self.read_bytes >= UE_LENGTH_FIELD_SIZE { self.current_message_length = array_of_u8_to_u32(self.length_buffer) as usize; - self.change_state(ReadingState::Payload); if self.current_message_length > MAX_UE_MESSAGE_LENGTH { self.is_broken = true; return Err(ReadingStreamError::MessageTooLong { @@ -108,6 +107,7 @@ impl MessageReader { }); } self.current_message = Vec::with_capacity(self.current_message_length); + self.change_state(ReadingState::Payload); } } ReadingState::Payload => {