quantrs2-device 0.1.3

Quantum device connectors for the QuantRS2 framework
Documentation
//! Network management for distributed orchestration

use serde::{Deserialize, Serialize};
use std::collections::HashMap;
use std::net::SocketAddr;
use std::time::Duration;

use super::types::*;

// Network performance metrics
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct NetworkPerformanceMetrics {
    pub latency: Duration,
    pub bandwidth: f64,
    pub packet_loss: f64,
    pub jitter: Duration,
}

// Resource utilization metrics
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct DistributedResourceUtilization {
    pub cpu_usage: f64,
    pub memory_usage: f64,
    pub network_usage: f64,
    pub quantum_resource_usage: f64,
}

// Fault tolerance metrics
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct FaultToleranceMetrics {
    pub failure_detection_time: Duration,
    pub recovery_time: Duration,
    pub availability: f64,
    pub reliability: f64,
}

// Cost analysis
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct DistributedCostAnalysis {
    pub computational_cost: f64,
    pub network_cost: f64,
    pub storage_cost: f64,
    pub total_cost: f64,
}

// Security audit trail
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct SecurityAuditTrail {
    pub authentication_events: Vec<String>,
    pub authorization_events: Vec<String>,
    pub security_violations: Vec<String>,
    pub encryption_events: Vec<String>,
}