#![cfg_attr(coverage_nightly, coverage(off))]
pub mod backpressure;
pub mod circuit_breaker;
pub mod message_format;
pub mod pubsub;
pub mod request_response;
use actix::prelude::*;
use bytes::Bytes;
use serde::{Deserialize, Serialize};
use std::time::{Duration, SystemTime, UNIX_EPOCH};
use uuid::Uuid;
#[derive(Debug, Clone, Message)]
#[rtype(result = "Result<crate::agents::AgentResponse, crate::agents::AgentError>")]
pub struct AgentMessage {
pub header: MessageHeader,
pub payload: Bytes, }
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MessageHeader {
pub id: Uuid,
pub from: Uuid,
pub to: Uuid,
pub timestamp: u64, pub correlation_id: Option<Uuid>,
pub priority: Priority,
pub ttl_ms: u32,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
pub enum Priority {
Critical = 0,
High = 1,
Normal = 2,
Low = 3,
}
include!("messaging_serde.rs");
include!("messaging_agent.rs");
include!("messaging_router.rs");
include!("messaging_tests.rs");
include!("messaging_coverage_tests.rs");