Browse Source

Change `MessageReader` to use `with_capacity`

Some of the collections inside `MessageReader` were created with `new()`
instead of `with_capacity()` call. This patch fixes that or comments why
it was not done in some places.
feature_link
Anton Tarasenko 3 years ago
parent
commit
0dedd1d1f1
  1. 6
      src/link/mod.rs

6
src/link/mod.rs

@ -20,6 +20,9 @@ const HEAD_UE_MESSAGE: u8 = 42;
// Maximum allowed size of JSON message sent from ue-server. // Maximum allowed size of JSON message sent from ue-server.
const MAX_UE_MESSAGE_LENGTH: usize = 25 * 1024 * 1024; const MAX_UE_MESSAGE_LENGTH: usize = 25 * 1024 * 1024;
// We do not expect to receive more that this much messages at once from ue-server
const EXPECTED_LIMIT_TO_UE_MESSAGES: usize = 100;
custom_error! { pub ReadingStreamError custom_error! { pub ReadingStreamError
InvalidHead{input: u8} = "Invalid byte used as a HEAD: {input}", InvalidHead{input: u8} = "Invalid byte used as a HEAD: {input}",
MessageTooLong{length: usize} = "Message to receive is too long: {length}", MessageTooLong{length: usize} = "Message to receive is too long: {length}",
@ -63,8 +66,9 @@ impl MessageReader {
reading_state: ReadingState::Head, reading_state: ReadingState::Head,
read_bytes: 0, read_bytes: 0,
current_message_length: 0, current_message_length: 0,
// Will be recreated with `with_capacity` in `push_byte()`
current_message: Vec::new(), current_message: Vec::new(),
read_messages: VecDeque::new(), read_messages: VecDeque::with_capacity(EXPECTED_LIMIT_TO_UE_MESSAGES),
next_received_bytes: 0, next_received_bytes: 0,
received_bytes: 0, received_bytes: 0,
} }

Loading…
Cancel
Save