summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Archie Pusaka <apusaka@chromium.org> 2024-10-08 17:40:08 +0800
committer Archie Pusaka <apusaka@google.com> 2024-10-08 18:11:52 +0800
commite329332b7268e35441a85df4462fd118fce73070 (patch)
tree98d242492cc5ac9fd5fb0072c652de16f141162e
parent94cfdf467b4d5dd7945706ef2127f01035b955d4 (diff)
floss: fix some rust warnings
* Add serde feature in hcidoc_packets (the generated files has serde configuration feature) * Allow dead code in hcidoc parser (the structs correctly represent the actual packet despite the value is never read) * Don't use DateTime::from_timestamp_micros in hcidoc parser because it needs chrono version above what's available on our rust_crates * Use underscore for default match arm * Remove unused FromPrimitive trait Bug: None Test: m -j Flag: EXEMPT, floss only changes Change-Id: Ie81c021b02ca5fa7d142fc64e8cec061c6566f2c
-rw-r--r--floss/hcidoc/packets/Cargo.toml3
-rw-r--r--floss/hcidoc/src/parser.rs13
-rw-r--r--system/gd/rust/topshim/src/btif.rs2
-rw-r--r--system/gd/rust/topshim/src/syslog.rs2
4 files changed, 17 insertions, 3 deletions
diff --git a/floss/hcidoc/packets/Cargo.toml b/floss/hcidoc/packets/Cargo.toml
index cd633bb88c..0b65fa4b26 100644
--- a/floss/hcidoc/packets/Cargo.toml
+++ b/floss/hcidoc/packets/Cargo.toml
@@ -37,3 +37,6 @@ walkdir = "2.2"
[lib]
path = "lib.rs"
crate-type = ["rlib"]
+
+[features]
+serde = []
diff --git a/floss/hcidoc/src/parser.rs b/floss/hcidoc/src/parser.rs
index 26659bc424..572040cabe 100644
--- a/floss/hcidoc/src/parser.rs
+++ b/floss/hcidoc/src/parser.rs
@@ -103,6 +103,7 @@ const SNOOP_Y0_TO_Y1970_US: i64 = 62_168_256_000_000_000;
/// Snoop file packet format.
#[derive(Debug, Clone)]
+#[allow(dead_code)]
pub struct SnoopPacketPreamble {
/// The original length of the captured packet as received via a network.
pub original_length: u32,
@@ -177,7 +178,15 @@ pub trait GeneralSnoopPacket {
fn get_timestamp(&self) -> Option<NaiveDateTime> {
let preamble = self.preamble();
let ts_i64 = i64::try_from(preamble.timestamp_us).unwrap_or(i64::MAX);
- DateTime::from_timestamp_micros(ts_i64 - SNOOP_Y0_TO_Y1970_US).map(|date| date.naive_utc())
+
+ // TODO: directly use Datetime::from_timestamp_micros() once chrono package is re-vendored
+ // to v0.4.35. Below is the actual implementation of that function.
+ let from_timestamp_micros = |micros: i64| -> Option<DateTime<_>> {
+ let secs = micros.div_euclid(1_000_000);
+ let nsecs = micros.rem_euclid(1_000_000) as u32 * 1000;
+ DateTime::from_timestamp(secs, nsecs)
+ };
+ from_timestamp_micros(ts_i64 - SNOOP_Y0_TO_Y1970_US).map(|date| date.naive_utc())
}
}
@@ -420,6 +429,7 @@ impl<'a> TryFrom<&'a dyn GeneralSnoopPacket> for PacketChild {
/// A single processable packet of data.
#[derive(Debug, Clone)]
+#[allow(dead_code)]
pub struct Packet {
/// Timestamp of this packet
pub ts: NaiveDateTime,
@@ -454,6 +464,7 @@ impl<'a> TryFrom<(usize, &'a dyn GeneralSnoopPacket)> for Packet {
}
}
+#[allow(dead_code)]
pub enum AclContent {
Control(Control),
LeControl(LeControl),
diff --git a/system/gd/rust/topshim/src/btif.rs b/system/gd/rust/topshim/src/btif.rs
index b5df64fb7e..b7e8dbbac6 100644
--- a/system/gd/rust/topshim/src/btif.rs
+++ b/system/gd/rust/topshim/src/btif.rs
@@ -435,7 +435,7 @@ impl ToString for BtVendorProductInfo {
match self.vendor_id_src {
1 => "bluetooth",
2 => "usb",
- default => "unknown",
+ _ => "unknown",
},
self.vendor_id,
self.product_id,
diff --git a/system/gd/rust/topshim/src/syslog.rs b/system/gd/rust/topshim/src/syslog.rs
index 5af01c4948..628d6682c4 100644
--- a/system/gd/rust/topshim/src/syslog.rs
+++ b/system/gd/rust/topshim/src/syslog.rs
@@ -5,7 +5,7 @@
//! to tune log levels for syslog.
use num_derive::{FromPrimitive, ToPrimitive};
-use num_traits::cast::{FromPrimitive, ToPrimitive};
+use num_traits::cast::ToPrimitive;
use std::ffi::CString;
use std::os::raw::c_char;