diff --git a/Cargo.toml b/Cargo.toml
index c9cd7854..3ba7c53b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -38,7 +38,7 @@ tokio-stream = { version = "0.1.16", features = ["sync"] }
[target.'cfg(target_os = "linux")'.dependencies]
dbus = "0.9.7"
-bluez-async = "0.7.2"
+bluez-async = "0.8.0"
[target.'cfg(target_os = "android")'.dependencies]
jni = "0.19.0"
diff --git a/src/api/mod.rs b/src/api/mod.rs
index bb3acf68..36d50da7 100644
--- a/src/api/mod.rs
+++ b/src/api/mod.rs
@@ -43,6 +43,9 @@ pub use self::bdaddr::{BDAddr, ParseBDAddrError};
use crate::platform::PeripheralId;
+/// The default MTU size for a peripheral.
+pub const DEFAULT_MTU_SIZE: u16 = 23;
+
#[cfg_attr(
feature = "serde",
derive(Serialize, Deserialize),
@@ -230,6 +233,9 @@ pub trait Peripheral: Send + Sync + Clone + Debug {
/// Returns the MAC address of the peripheral.
fn address(&self) -> BDAddr;
+ /// Returns the currently negotiated mtu size
+ fn mtu(&self) -> u16;
+
/// Returns the set of properties associated with the peripheral. These may be updated over time
/// as additional advertising reports are received.
async fn properties(&self) -> Result