From: Dominik Csapak <d.csapak@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox v2 3/4] proxmox/tools/websocket: fix some clippy warnings
Date: Fri, 17 Jul 2020 14:17:09 +0200 [thread overview]
Message-ID: <20200717121710.2297-3-d.csapak@proxmox.com> (raw)
In-Reply-To: <20200717121710.2297-1-d.csapak@proxmox.com>
* reformat docs
* use &mut [u8] instead of Box<[u8]> (conversion can be done automatically)
* use:
let foo = if condition { A } else { B };
instead of matching on a boolean condition
* rename WaitingForData to Receiving so that not all
variants of the enum end with Data
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
changes from v1:
* Receiving instead of WaitingForFuture
proxmox/src/tools/websocket.rs | 35 +++++++++++++++-------------------
1 file changed, 15 insertions(+), 20 deletions(-)
diff --git a/proxmox/src/tools/websocket.rs b/proxmox/src/tools/websocket.rs
index 6d30061..e43c33e 100644
--- a/proxmox/src/tools/websocket.rs
+++ b/proxmox/src/tools/websocket.rs
@@ -1,8 +1,7 @@
//! Websocket helpers
//!
-//! Provides methods to read and write from websockets
-//! The reader and writer take a reader/writer with AsyncRead/AsyncWrite
-//! respectively and provides the same
+//! Provides methods to read and write from websockets The reader and writer take a reader/writer
+//! with AsyncRead/AsyncWrite respectively and provides the same
use std::pin::Pin;
use std::task::{Context, Poll};
@@ -113,7 +112,7 @@ impl OpCode {
}
}
-fn mask_bytes(mask: Option<[u8; 4]>, data: &mut Box<[u8]>) {
+fn mask_bytes(mask: Option<[u8; 4]>, data: &mut [u8]) {
let mask = match mask {
Some([0,0,0,0]) | None => return,
Some(mask) => mask,
@@ -278,10 +277,7 @@ impl<W: AsyncWrite + Unpin> AsyncWrite for WebSocketWriter<W> {
) -> Poll<io::Result<usize>> {
let this = Pin::get_mut(self);
- let frametype = match this.text {
- true => OpCode::Text,
- false => OpCode::Binary,
- };
+ let frametype = if this.text { OpCode::Text } else { OpCode::Binary };
if this.frame.is_none() {
// create frame buf
@@ -448,16 +444,15 @@ impl FrameHeader {
));
}
- let mask = match mask_bit {
- true => {
- if len < mask_offset + 4 {
- return Ok(None);
- }
- let mut mask = [0u8; 4];
- mask.copy_from_slice(&data[mask_offset as usize..payload_offset as usize]);
- Some(mask)
+ let mask = if mask_bit {
+ if len < mask_offset + 4 {
+ return Ok(None);
}
- false => None,
+ let mut mask = [0u8; 4];
+ mask.copy_from_slice(&data[mask_offset as usize..payload_offset as usize]);
+ Some(mask)
+ } else {
+ None
};
Ok(Some(FrameHeader {
@@ -513,7 +508,7 @@ struct ReadResult<R> {
enum ReaderState<R> {
NoData,
- WaitingForData(Pin<Box<dyn Future<Output = io::Result<ReadResult<R>>> + Send + 'static>>),
+ Receiving(Pin<Box<dyn Future<Output = io::Result<ReadResult<R>>> + Send + 'static>>),
HaveData,
}
@@ -547,9 +542,9 @@ impl<R: AsyncReadExt + Unpin + Send + 'static> AsyncRead for WebSocketReader<R>
.map(move |len| ReadResult { len, reader, buffer })
};
- this.state = ReaderState::WaitingForData(future.boxed());
+ this.state = ReaderState::Receiving(future.boxed());
},
- ReaderState::WaitingForData(ref mut future) => {
+ ReaderState::Receiving(ref mut future) => {
match ready!(future.as_mut().poll(cx)) {
Ok(ReadResult { len, reader, buffer }) => {
this.reader = Some(reader);
--
2.20.1
next prev parent reply other threads:[~2020-07-17 12:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-17 12:17 [pbs-devel] [PATCH proxmox v2 1/4] proxmox/tools/websocket: introduce WebSocketError and use it Dominik Csapak
2020-07-17 12:17 ` [pbs-devel] [PATCH proxmox v2 2/4] proxmox/tools/websocket: improve error handling Dominik Csapak
2020-07-17 12:17 ` Dominik Csapak [this message]
2020-07-17 12:17 ` [pbs-devel] [PATCH proxmox v2 4/4] proxmox/tools/byte_buffer: improve read_from example Dominik Csapak
2020-07-17 12:38 ` [pbs-devel] applied: [PATCH proxmox v2 1/4] proxmox/tools/websocket: introduce WebSocketError and use it Wolfgang Bumiller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200717121710.2297-3-d.csapak@proxmox.com \
--to=d.csapak@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox