1#![warn(missing_docs)]
31#![warn(clippy::all)]
32#![deny(unsafe_op_in_unsafe_fn)]
33
34pub mod analytics_context;
35pub mod audit;
36
37#[cfg(feature = "benchmark")]
39pub mod benchmark;
40
41pub mod checkpoint;
42
43#[cfg(feature = "cloud-storage")]
45pub mod cloud_storage;
46
47pub mod config;
48pub mod context;
49pub mod control;
50pub mod dispatcher;
51pub mod domain;
52pub mod error;
53pub mod health;
54pub mod hlc;
55pub mod hybrid;
56pub mod k2k;
57pub mod memory;
58pub mod message;
59pub mod multi_gpu;
60pub mod observability;
61pub mod persistent_message;
62pub mod pubsub;
63pub mod queue;
64pub mod reduction;
65pub mod resource;
66pub mod runtime;
67pub mod runtime_context;
68pub mod security;
69pub mod state;
70pub mod telemetry;
71pub mod telemetry_pipeline;
72pub mod types;
73
74pub mod alerting;
76pub mod auth;
77pub mod logging;
78pub mod rate_limiting;
79pub mod rbac;
80pub mod secrets;
81pub mod tenancy;
82pub mod timeout;
83
84#[cfg(feature = "tls")]
86pub mod tls;
87
88#[doc(hidden)]
91pub mod __private;
92
93pub mod prelude {
95 pub use crate::analytics_context::{
96 AllocationHandle, AnalyticsContext, AnalyticsContextBuilder, ContextStats,
97 };
98 pub use crate::audit::{
99 AuditConfig, AuditEvent, AuditEventType, AuditLevel, AuditLogger, AuditLoggerBuilder,
100 AuditSink, CloudWatchConfig, CloudWatchSink, FileSink, MemorySink, SyslogConfig,
101 SyslogFacility, SyslogSeverity, SyslogSink,
102 };
103 #[cfg(feature = "alerting")]
104 pub use crate::audit::{ElasticsearchConfig, ElasticsearchSink};
105 pub use crate::config::{
106 CheckpointStorageType, CloudStorageConfig, ConfigBuilder, Environment, GeneralConfig,
107 GeneralConfigBuilder, HealthConfig, HealthConfigBuilder, LogLevel, MigrationConfig,
108 MigrationConfigBuilder, MultiGpuConfig, MultiGpuConfigBuilder, ObservabilityConfig,
109 ObservabilityConfigBuilder, RetryConfig, RingKernelConfig,
110 };
111 pub use crate::context::*;
112 pub use crate::control::*;
113 pub use crate::dispatcher::{
114 DispatcherBuilder, DispatcherConfig, DispatcherMetrics, KernelDispatcher,
115 };
116 pub use crate::domain::{Domain, DomainMessage, DomainParseError};
117 pub use crate::error::*;
118 pub use crate::health::{
119 BackoffStrategy, CircuitBreaker, CircuitBreakerConfig, CircuitBreakerStats, CircuitState,
120 DegradationLevel, DegradationManager, DegradationStats, FailureType, HealthCheck,
121 HealthCheckResult, HealthChecker, HealthStatus, KernelHealth, KernelWatchdog,
122 LoadSheddingPolicy, RecoveryAction, RecoveryConfig, RecoveryConfigBuilder, RecoveryManager,
123 RecoveryPolicy, RecoveryResult, RecoveryStatsSnapshot, RetryPolicy,
124 };
125 pub use crate::hlc::*;
126 pub use crate::hybrid::{
127 HybridConfig, HybridConfigBuilder, HybridDispatcher, HybridError, HybridResult,
128 HybridStats, HybridStatsSnapshot, HybridWorkload, ProcessingMode,
129 };
130 pub use crate::k2k::{
131 DeliveryStatus, K2KBroker, K2KBuilder, K2KConfig, K2KEndpoint, K2KMessage,
132 K2KMessageRegistration, K2KTypeRegistry,
133 };
134 #[cfg(feature = "crypto")]
135 pub use crate::k2k::{
136 EncryptedK2KBuilder, EncryptedK2KEndpoint, EncryptedK2KMessage, K2KEncryptionAlgorithm,
137 K2KEncryptionConfig, K2KEncryptionStatsSnapshot, K2KEncryptor, K2KKeyMaterial,
138 };
139 pub use crate::memory::*;
140 pub use crate::message::{
141 priority, CorrelationId, MessageEnvelope, MessageHeader, MessageId, Priority, RingMessage,
142 };
143 pub use crate::multi_gpu::{
144 CrossGpuK2KRouter, CrossGpuRouterStatsSnapshot, DeviceInfo, DeviceStatus,
145 DeviceUnregisterResult, GpuConnection, GpuTopology, HotReloadConfig, HotReloadManager,
146 HotReloadRequest, HotReloadResult, HotReloadState, HotReloadStatsSnapshot,
147 HotReloadableKernel, InterconnectType, KernelCodeFormat, KernelCodeSource,
148 KernelMigrationPlan, KernelMigrator, LoadBalancingStrategy, MigratableKernel,
149 MigrationPriority, MigrationRequest, MigrationResult, MigrationState,
150 MigrationStatsSnapshot, MultiGpuBuilder, MultiGpuCoordinator, PendingK2KMessage,
151 RoutingDecision,
152 };
153 pub use crate::observability::{
154 GpuDeviceMemoryStats, GpuMemoryAllocation, GpuMemoryDashboard, GpuMemoryPoolStats,
155 GpuMemoryThresholds, GpuMemoryType, GrafanaDashboard, GrafanaPanel, MemoryPressureLevel,
156 ObservabilityContext, OtlpConfig, OtlpExportResult, OtlpExporter, OtlpExporterStats,
157 OtlpTransport, PanelType, PrometheusCollector, PrometheusExporter, RingKernelCollector,
158 Span, SpanBuilder, SpanEvent, SpanId, SpanKind, SpanStatus, TraceId,
159 };
160 pub use crate::persistent_message::{
161 message_flags, DispatchTable, HandlerRegistration, PersistentMessage,
162 MAX_INLINE_PAYLOAD_SIZE,
163 };
164 pub use crate::pubsub::{PubSubBroker, PubSubBuilder, Publication, QoS, Subscription, Topic};
165 pub use crate::queue::*;
166 pub use crate::reduction::{
167 GlobalReduction, ReductionConfig, ReductionHandle, ReductionOp, ReductionScalar,
168 };
169 pub use crate::resource::{
170 global_guard, LinearEstimator, MemoryEstimate, MemoryEstimator, ReservationGuard,
171 ResourceError, ResourceGuard, ResourceResult, DEFAULT_MAX_MEMORY_BYTES,
172 SYSTEM_MEMORY_MARGIN,
173 };
174 pub use crate::runtime::*;
175 pub use crate::runtime_context::{
176 AppInfo, BackgroundTaskStatus, CircuitGuard, ContextMetrics, DegradationGuard,
177 HealthCycleResult, LifecycleState, MonitoringConfig, MonitoringHandles, OperationPriority,
178 RingKernelContext, RuntimeBuilder, RuntimeStatsSnapshot, ShutdownReport, WatchdogResult,
179 };
180 pub use crate::security::{
181 AccessLevel, ComplianceCheck, ComplianceReport, ComplianceReporter, ComplianceStandard,
182 ComplianceStatus, ComplianceSummary, EncryptedRegion, EncryptionAlgorithm,
183 EncryptionConfig, EncryptionKey, EncryptionStats, KernelSandbox, KeyDerivation,
184 MemoryEncryption, ReportFormat, ResourceLimits, SandboxPolicy, SandboxStats,
185 SandboxViolation, ViolationType,
186 };
187 pub use crate::state::{
188 ControlBlockStateHelper, EmbeddedState, EmbeddedStateSize, GpuState, StateDescriptor,
189 StateSnapshot, CONTROL_BLOCK_STATE_SIZE, STATE_DESCRIPTOR_MAGIC,
190 };
191 pub use crate::telemetry::*;
192 pub use crate::telemetry_pipeline::{
193 MetricsCollector, MetricsSnapshot, TelemetryAlert, TelemetryConfig, TelemetryEvent,
194 TelemetryPipeline,
195 };
196 pub use crate::types::*;
197
198 #[cfg(feature = "cloud-storage")]
200 pub use crate::cloud_storage::{AsyncCheckpointStorage, CloudProvider, S3Config, S3Storage};
201
202 pub use crate::alerting::{
204 Alert, AlertRouter, AlertRouterStats, AlertSeverity, AlertSink, AlertSinkError,
205 AlertSinkResult, DeduplicationConfig, InMemorySink, LogSink,
206 };
207 #[cfg(feature = "alerting")]
208 pub use crate::alerting::{WebhookFormat, WebhookSink};
209 pub use crate::auth::{
210 ApiKeyAuth, AuthContext, AuthError, AuthProvider, AuthResult, ChainedAuthProvider,
211 Credentials, Identity,
212 };
213 #[cfg(feature = "auth")]
214 pub use crate::auth::{JwtAuth, JwtClaims, JwtConfig};
215 pub use crate::logging::{
216 ConsoleSink, FileLogSink, LogConfig as StructuredLogConfig,
217 LogConfigBuilder as StructuredLogConfigBuilder, LogEntry, LogLevel as StructuredLogLevel,
218 LogOutput, LogSink as StructuredLogSink, LogSinkError as StructuredLogSinkError, LogValue,
219 LoggerStats, MemoryLogSink, StructuredLogger, TraceContext,
220 };
221 pub use crate::rate_limiting::{
222 shared_rate_limiter, RateLimitAlgorithm, RateLimitConfig, RateLimitError, RateLimitGuard,
223 RateLimitResult, RateLimiter, RateLimiterBuilder, RateLimiterExt, RateLimiterStatsSnapshot,
224 SharedRateLimiter,
225 };
226 pub use crate::rbac::{
227 Permission, PolicyEvaluator, RbacError, RbacPolicy, RbacResult, ResourceRule, Role, Subject,
228 };
229 pub use crate::secrets::{
230 CachedSecretStore, ChainedSecretStore, EnvVarSecretStore, InMemorySecretStore,
231 KeyRotationManager, SecretError, SecretKey, SecretResult, SecretStore, SecretValue,
232 };
233 pub use crate::tenancy::{
234 QuotaUtilization, ResourceQuota, ResourceUsage, TenantContext, TenantError, TenantRegistry,
235 TenantResult,
236 };
237 pub use crate::timeout::{
238 timeout, timeout_named, with_timeout, with_timeout_named, CancellationToken, Deadline,
239 OperationContext, Timeout, TimeoutError, TimeoutStats, TimeoutStatsSnapshot,
240 };
241 #[cfg(feature = "tls")]
242 pub use crate::tls::{
243 CertificateInfo, CertificateStore, ClientAuth, SniResolver, TlsAcceptor, TlsConfig,
244 TlsConfigBuilder, TlsConnector, TlsError, TlsResult, TlsSessionInfo, TlsVersion,
245 };
246
247 #[cfg(feature = "benchmark")]
249 pub use crate::benchmark::{
250 BenchmarkBaseline, BenchmarkConfig, BenchmarkResult, BenchmarkSuite, Benchmarkable,
251 ConfidenceInterval, DetailedStatistics, RegressionEntry, RegressionReport,
252 RegressionStatus, ScalingMetrics, WorkloadConfig, WorkloadSize,
253 };
254}
255
256pub use context::RingContext;
258pub use control::ControlBlock;
259pub use domain::{Domain, DomainMessage};
260pub use error::{Result, RingKernelError};
261pub use hlc::HlcTimestamp;
262pub use memory::{DeviceMemory, GpuBuffer, MemoryPool, PinnedMemory};
263pub use message::{priority, MessageHeader, MessageId, Priority, RingMessage};
264pub use queue::{MessageQueue, QueueStats};
265pub use runtime::{
266 Backend, KernelHandle, KernelId, KernelState, KernelStatus, LaunchOptions, RingKernelRuntime,
267};
268pub use telemetry::TelemetryBuffer;
269pub use types::{BlockId, GlobalThreadId, ThreadId, WarpId};