Skip to content

Commit 823214d

Browse files
onur-ozkanpatrickelectric
authored andcommitted
utilize BufReader in async_connection/direct_serial
Mirrors the connection/direct_serial buffered reading. Signed-off-by: Onur Özkan <[email protected]>
1 parent fcc3b70 commit 823214d

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

mavlink-core/src/async_connection/direct_serial.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use std::io;
66

77
use async_trait::async_trait;
88
use futures::lock::Mutex;
9+
use tokio::io::BufReader;
910
use tokio_serial::{SerialPort, SerialPortBuilderExt, SerialStream};
1011

1112
use super::AsyncConnectable;
@@ -26,7 +27,7 @@ use crate::{
2627
use super::AsyncMavConnection;
2728

2829
pub struct AsyncSerialConnection {
29-
port: Mutex<AsyncPeekReader<SerialStream>>,
30+
port: Mutex<AsyncPeekReader<BufReader<SerialStream>>>,
3031
sequence: AtomicU8,
3132
protocol_version: MavlinkVersion,
3233
recv_any_version: bool,
@@ -141,8 +142,11 @@ impl AsyncConnectable for SerialConfig {
141142
port.set_stop_bits(tokio_serial::StopBits::One)?;
142143
port.set_flow_control(tokio_serial::FlowControl::None)?;
143144

145+
let read_buffer_capacity = self.buffer_capacity();
146+
let buf_reader = BufReader::with_capacity(read_buffer_capacity, port);
147+
144148
Ok(Box::new(AsyncSerialConnection {
145-
port: Mutex::new(AsyncPeekReader::new(port)),
149+
port: Mutex::new(AsyncPeekReader::new(buf_reader)),
146150
sequence: AtomicU8::new(0),
147151
protocol_version: MavlinkVersion::V2,
148152
recv_any_version: false,

0 commit comments

Comments
 (0)