don't spawn traffic preview thread for adapters with unsupported link types

This commit is contained in:
GyulyVGC
2025-12-20 09:33:26 +01:00
parent 04e82c063b
commit 5da6cfce61

View File

@@ -78,10 +78,13 @@ fn handle_devices_and_previews(
} }
data.insert(dev_name.clone(), 0); data.insert(dev_name.clone(), 0);
traffic_preview.data.push((my_dev.clone(), 0)); traffic_preview.data.push((my_dev.clone(), 0));
let pcap_tx = pcap_tx.clone();
let capture_source = CaptureSource::Device(my_dev); let capture_source = CaptureSource::Device(my_dev);
let capture_context = CaptureContext::new(&capture_source, None, &Filters::default()); let capture_context = CaptureContext::new(&capture_source, None, &Filters::default());
let my_link_type = capture_context.my_link_type(); let my_link_type = capture_context.my_link_type();
if !my_link_type.is_supported() {
continue;
}
let pcap_tx = pcap_tx.clone();
let thread_name = format!("thread_traffic_preview_{dev_name}"); let thread_name = format!("thread_traffic_preview_{dev_name}");
let dev_info = DevInfo { let dev_info = DevInfo {
name: dev_name, name: dev_name,
@@ -108,9 +111,6 @@ fn packet_stream(
tx: &std::sync::mpsc::SyncSender<(Result<PacketOwned, pcap::Error>, Option<pcap::Stat>)>, tx: &std::sync::mpsc::SyncSender<(Result<PacketOwned, pcap::Error>, Option<pcap::Stat>)>,
dev_info: &DevInfo, dev_info: &DevInfo,
) { ) {
if !dev_info.my_link_type.is_supported() {
return;
}
loop { loop {
let packet_res = cap.next_packet(); let packet_res = cap.next_packet();
let packet_owned = packet_res.map(|p| PacketOwned { let packet_owned = packet_res.map(|p| PacketOwned {