actr_protocol/
lib.rs

1#![allow(deprecated)]
2//! # Actor-RTC Protocol, Types, and URI Parsing
3//!
4//! This crate contains the unified protocol definitions for the Actor-RTC framework.
5//! Its primary role is to provide the raw, generated Protobuf types and essential,
6//! stateless utilities for handling those types (e.g., ID and URI formatting).
7//!
8//! It strictly adheres to its role as a data definition layer and does not contain
9//! higher-level traits, business logic, or runtime-specific implementations.
10
11// Include generated protobuf code from prost
12pub mod generated {
13    pub mod actr {
14        include!(concat!(env!("OUT_DIR"), "/actr.rs"));
15    }
16    pub mod signaling {
17        include!(concat!(env!("OUT_DIR"), "/signaling.rs"));
18    }
19    pub mod webrtc {
20        include!(concat!(env!("OUT_DIR"), "/webrtc.rs"));
21    }
22}
23
24// Re-export all generated types at the crate root for convenience
25pub use generated::actr::*;
26pub use generated::signaling::*;
27pub use generated::webrtc::*;
28
29// Stateless, self-contained extensions and utilities
30pub mod actr_ext;
31pub mod error;
32pub mod message;
33pub mod name;
34pub mod uri;
35
36// Re-export key utilities for convenience
37pub use actr_ext::*;
38pub use error::*;
39pub use message::RpcRequest;
40pub use name::*;
41
42// Re-export prost and prost_types for downstream crates
43// This ensures a single source of truth for protobuf dependencies
44pub use prost;
45pub use prost_types;