quantrs2_device/distributed/
network.rs

1//! Network management for distributed orchestration
2
3use serde::{Deserialize, Serialize};
4use std::collections::HashMap;
5use std::net::SocketAddr;
6use std::time::Duration;
7
8use super::types::*;
9
10// Network performance metrics
11#[derive(Debug, Clone, Serialize, Deserialize, Default)]
12pub struct NetworkPerformanceMetrics {
13    pub latency: Duration,
14    pub bandwidth: f64,
15    pub packet_loss: f64,
16    pub jitter: Duration,
17}
18
19// Resource utilization metrics
20#[derive(Debug, Clone, Serialize, Deserialize, Default)]
21pub struct DistributedResourceUtilization {
22    pub cpu_usage: f64,
23    pub memory_usage: f64,
24    pub network_usage: f64,
25    pub quantum_resource_usage: f64,
26}
27
28// Fault tolerance metrics
29#[derive(Debug, Clone, Serialize, Deserialize, Default)]
30pub struct FaultToleranceMetrics {
31    pub failure_detection_time: Duration,
32    pub recovery_time: Duration,
33    pub availability: f64,
34    pub reliability: f64,
35}
36
37// Cost analysis
38#[derive(Debug, Clone, Serialize, Deserialize, Default)]
39pub struct DistributedCostAnalysis {
40    pub computational_cost: f64,
41    pub network_cost: f64,
42    pub storage_cost: f64,
43    pub total_cost: f64,
44}
45
46// Security audit trail
47#[derive(Debug, Clone, Serialize, Deserialize, Default)]
48pub struct SecurityAuditTrail {
49    pub authentication_events: Vec<String>,
50    pub authorization_events: Vec<String>,
51    pub security_violations: Vec<String>,
52    pub encryption_events: Vec<String>,
53}