adds frontend history
This commit is contained in:
@@ -1,15 +1,15 @@
|
||||
use crate::core::{TelemetryDefinitionRequest, Uuid};
|
||||
use crate::telemetry::data::{TelemetryData, TelemetryDataHistory};
|
||||
use crate::telemetry::definition::TelemetryDefinition;
|
||||
use crate::telemetry::history::{TelemetryHistory, TelemetryHistoryService};
|
||||
use papaya::{HashMap, HashMapRef, LocalGuard};
|
||||
use std::error::Error;
|
||||
use std::hash::RandomState;
|
||||
use crate::telemetry::history::{TelemetryHistory, TelemetryHistoryService};
|
||||
|
||||
pub struct TelemetryManagementService {
|
||||
uuid_index: HashMap<String, String>,
|
||||
tlm_data: HashMap<String, TelemetryDataHistory>,
|
||||
telemetry_history_service: TelemetryHistoryService
|
||||
telemetry_history_service: TelemetryHistoryService,
|
||||
}
|
||||
|
||||
impl TelemetryManagementService {
|
||||
@@ -17,7 +17,7 @@ impl TelemetryManagementService {
|
||||
Self {
|
||||
uuid_index: HashMap::new(),
|
||||
tlm_data: HashMap::new(),
|
||||
telemetry_history_service
|
||||
telemetry_history_service,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,12 +60,15 @@ impl TelemetryManagementService {
|
||||
|
||||
pub fn get_by_uuid(&self, uuid: &String) -> Option<TelemetryData> {
|
||||
let tlm_data = self.tlm_data.pin();
|
||||
tlm_data.get(uuid).map(|data_history| &data_history.data).cloned()
|
||||
tlm_data
|
||||
.get(uuid)
|
||||
.map(|data_history| &data_history.data)
|
||||
.cloned()
|
||||
}
|
||||
|
||||
pub fn pin(&self) -> TelemetryManagementServicePin {
|
||||
TelemetryManagementServicePin {
|
||||
tlm_data: self.tlm_data.pin()
|
||||
tlm_data: self.tlm_data.pin(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,7 +78,7 @@ impl TelemetryManagementService {
|
||||
}
|
||||
|
||||
pub struct TelemetryManagementServicePin<'a> {
|
||||
tlm_data: HashMapRef<'a, String, TelemetryDataHistory, RandomState, LocalGuard<'a>>
|
||||
tlm_data: HashMapRef<'a, String, TelemetryDataHistory, RandomState, LocalGuard<'a>>,
|
||||
}
|
||||
|
||||
impl<'a> TelemetryManagementServicePin<'a> {
|
||||
@@ -83,4 +86,3 @@ impl<'a> TelemetryManagementServicePin<'a> {
|
||||
self.tlm_data.get(uuid)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user