aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIstvan Ruzman <istvan@ruzman.eu>2019-12-21 13:20:49 +0100
committerIstvan Ruzman <istvan@ruzman.eu>2019-12-21 13:20:49 +0100
commit8782b6942729b2fd87e82ff575d9f4aca7cbe96e (patch)
tree4e09fca61c085e42f1ac36c63fd9bb18a127b35c
parent1ff0f4c44cbace34a3243aec5c5e3c2174087659 (diff)
Fix: don't use mutable borrows when we don't need it
-rw-r--r--src/eth.rs4
-rw-r--r--src/packet.rs6
2 files changed, 5 insertions, 5 deletions
diff --git a/src/eth.rs b/src/eth.rs
index 5518e9a..cf1f0a9 100644
--- a/src/eth.rs
+++ b/src/eth.rs
@@ -6,11 +6,11 @@ use crate::error::ParseError;
/// A valid Ethernet Header
#[derive(Debug)]
-pub struct Header<'a>(&'a mut [u8]);
+pub struct Header<'a>(&'a [u8]);
impl<'a> Header<'a> {
/// Parse a buffer and create a Ethernet Header from it.
- pub fn with_buffer(buffer: &'a mut [u8]) -> Result<Self, ParseError> {
+ pub fn with_buffer(buffer: &'a [u8]) -> Result<Self, ParseError> {
if buffer.len() < 14 {
return Err(ParseError::BufferTooSmall(buffer.len()));
}
diff --git a/src/packet.rs b/src/packet.rs
index 6cefe64..f45000b 100644
--- a/src/packet.rs
+++ b/src/packet.rs
@@ -6,7 +6,7 @@ use std::slice;
pub const PPPOE_DISCOVERY: u16 = 0x8863;
pub const PPPOE_SESSION: u16 = 0x8864;
-fn ensure_minimal_buffer_size(buffer: &mut [u8]) -> Result<(), ParseError> {
+fn ensure_minimal_buffer_size(buffer: &[u8]) -> Result<(), ParseError> {
// minimal eth + pppoe header size
if buffer.len() < 20 {
return Err(ParseError::BufferTooSmall(buffer.len()));
@@ -26,9 +26,9 @@ impl<'a> Packet<'a> {
///
/// The buffer is expected contain a valid Ethernet Packet (with an ethertype for PPPoE) and a
/// PPPoE Packet. Therefore the buffer must be greater than 20 bytes.
- pub fn with_buffer(buffer: &'a mut [u8]) -> Result<Self, Error> {
+ pub fn with_buffer(buffer: &'a [u8]) -> Result<Self, Error> {
ensure_minimal_buffer_size(buffer)?;
- let (eth_buf, pppoe_buf) = buffer.split_at_mut(14);
+ let (eth_buf, pppoe_buf) = buffer.split_at(14);
Ok(Self {
ethernet: eth::Header::with_buffer(eth_buf)?,