Skip to content

Commit

Permalink
remove unneeded header clones
Browse files Browse the repository at this point in the history
  • Loading branch information
icewind1991 committed Aug 25, 2024
1 parent 38715ea commit 2ed71ef
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
4 changes: 2 additions & 2 deletions src/connection/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ pub trait ConnectionTrait: Sync + Debug {
let fut = self.filter().one_kind(T::KIND);
async move {
let raw = fut.await.map_err(|_| NetworkError::EOF)?;
Ok((raw.header.clone(), raw.into_message()?))
raw.into_header_and_message()
}
}

Expand All @@ -258,7 +258,7 @@ pub trait ConnectionTrait: Sync + Debug {
) -> impl Stream<Item = Result<(NetMessageHeader, T)>> + 'static {
BroadcastStream::new(self.filter().on_kind(T::KIND)).map(|raw| {
let raw = raw.map_err(|_| NetworkError::EOF)?;
Ok((raw.header.clone(), raw.into_message()?))
raw.into_header_and_message()
})
}

Expand Down
8 changes: 6 additions & 2 deletions src/net.rs
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ impl RawNetMessage {
}

impl RawNetMessage {
pub fn into_message<T: NetMessage>(self) -> Result<T> {
pub fn into_header_and_message<T: NetMessage>(self) -> Result<(NetMessageHeader, T)> {
if let Some(result) = self.header.result {
EResult::from_result(result)?;
}
Expand All @@ -332,9 +332,13 @@ impl RawNetMessage {
self.data.len()
);
let body = T::read_body(self.data, &self.header)?;
Ok(body)
Ok((self.header, body))
} else {
Err(NetworkError::DifferentMessage(T::KIND.into(), self.kind))
}
}

pub fn into_message<T: NetMessage>(self) -> Result<T> {
self.into_header_and_message().map(|(_, msg)| msg)
}
}

0 comments on commit 2ed71ef

Please sign in to comment.