|
|
@ -100,7 +100,6 @@ impl MessageReader { |
|
|
|
self.read_bytes += 1; |
|
|
|
self.read_bytes += 1; |
|
|
|
if self.read_bytes >= UE_LENGTH_FIELD_SIZE { |
|
|
|
if self.read_bytes >= UE_LENGTH_FIELD_SIZE { |
|
|
|
self.current_message_length = array_of_u8_to_u32(self.length_buffer) as usize; |
|
|
|
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 { |
|
|
|
if self.current_message_length > MAX_UE_MESSAGE_LENGTH { |
|
|
|
self.is_broken = true; |
|
|
|
self.is_broken = true; |
|
|
|
return Err(ReadingStreamError::MessageTooLong { |
|
|
|
return Err(ReadingStreamError::MessageTooLong { |
|
|
@ -108,6 +107,7 @@ impl MessageReader { |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
self.current_message = Vec::with_capacity(self.current_message_length); |
|
|
|
self.current_message = Vec::with_capacity(self.current_message_length); |
|
|
|
|
|
|
|
self.change_state(ReadingState::Payload); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
ReadingState::Payload => { |
|
|
|
ReadingState::Payload => { |
|
|
|