Module Common

Module Common 

Source
Expand description

Common shared types and abstractions for IPC layer.

§IPC Common Abstractions

This module provides shared types and abstractions used across the IPC layer. It eliminates code duplication and provides a consistent foundation for all IPC communication components.

§Architecture

The Common module is organized into focused, atomic modules:

  • MessageType: Core message structures for IPC communication
  • ConnectionStatus: Connection health and state tracking
  • HealthStatus: Health monitoring and scoring
  • PerformanceMetrics: Performance measurement and tracking
  • ServiceInfo: Service discovery and information

§Design Principles

  1. Single Responsibility: Each module has one clear purpose
  2. Reusability: Types are shared across IPC components
  3. Type Safety: Strong typing prevents common errors
  4. Serde Support: All types support serialization for IPC

§Example Usage

use crate::IPC::Common::{ConnectionStatus, HealthStatus, PerformanceMetrics};

let status = ConnectionStatus::Connected;
let health = HealthStatus::new(100);
let metrics = PerformanceMetrics::default();

Re-exports§

pub use ConnectionStatus::ConnectionState;
pub use HealthStatus::HealthIssue;
pub use HealthStatus::HealthMonitor;
pub use HealthStatus::SeverityLevel;
pub use MessageType::IPCCommand;
pub use MessageType::IPCMessage;
pub use MessageType::IPCResponse;
pub use PerformanceMetrics::ThroughputMetrics;
pub use ServiceInfo::ServiceRegistry;
pub use ServiceInfo::ServiceState;
pub use ConnectionStatus::ConnectionStatus as Status;

Modules§

ConnectionStatus
Connection Status Tracking
HealthStatus
Health Status Monitoring
MessageType
Message Type Definitions
PerformanceMetrics
Performance Metrics Tracking
ServiceInfo
Service Discovery and Information