1#![deny(missing_docs)]
14
15pub mod authorization;
16pub mod capability;
17pub mod config;
18pub mod connection;
19pub mod diagnostics;
20pub mod error;
21mod federated_route;
22pub mod federation;
23mod federation_auth;
24mod federation_transport;
25pub mod ha;
26pub mod heartbeat;
27pub mod mesh;
28mod mesh_route;
29pub mod metrics;
30mod peer_route;
31pub mod registry;
32pub mod resolver;
33mod route_admission;
34mod route_fencing;
35pub mod router;
36pub mod runtime;
37pub mod service;
38pub mod session;
39pub mod socket;
40mod socket_lifecycle;
41mod socket_ownership;
42pub mod state;
43mod telemetry;
44pub mod tenant;
45mod tenant_directory;
46
47pub use appcore_distributed_contracts::{
48 OpaqueContentEnvelopeV1, OpaqueEnvelopeDecision, OpaqueEnvelopeDeduplicator,
49 OpaqueEnvelopePolicy, OPAQUE_CONTENT_ENVELOPE_SCHEMA_V1,
50};
51pub use authorization::{
52 client_connection_hash, gateway_token_claims, worker_connection_hash,
53 GATEWAY_CONNECTION_TOKEN_TTL_MS,
54};
55pub use capability::{
56 gateway_capability_descriptor, GatewayCapability, GATEWAY_RUNTIME_CAPABILITY,
57};
58pub use config::{
59 GatewayConfig, GATEWAY_ADAPTER_NAME, GATEWAY_PROVIDER_ID, MAX_GATEWAY_AFFINITY_KEY_BYTES,
60 MAX_GATEWAY_WORKER_INFLIGHT,
61};
62pub use connection::{ClientConnection, WorkerConnection, WorkerConnectionKey};
63pub use diagnostics::{
64 GatewayCapabilitySnapshot, GatewayDiagnosticsQuery, GatewayDiagnosticsSnapshot,
65 GatewayPeerSnapshot,
66};
67pub use error::{GatewayError, GatewayResult};
68pub use federation::{
69 GatewayFederationRequestV2, GatewayFederationResponseV2, GATEWAY_FEDERATION_PATH_V2,
70 GATEWAY_FEDERATION_SCHEMA_V2,
71};
72pub use federation_auth::{gateway_federation_token_claims, GATEWAY_FEDERATION_TOKEN_TTL_MS};
73#[cfg(feature = "ha-redis")]
74pub use ha::redis::{
75 RedisGatewayCredential, RedisGatewayRegistryConfig, RedisGatewayRegistryProvider,
76 MAX_GATEWAY_REDIS_NAMESPACE_BYTES,
77};
78pub use ha::{
79 GatewayFederationUrl, GatewayHaCoordinator, GatewayHaCoordinatorConfig,
80 GatewayHaCoordinatorSnapshot, GatewayHaLifecycle, GatewayHaLifecycleSnapshot, GatewayHaMode,
81 GatewayHaOwnershipSnapshot, GatewayHaOwnershipSource, GatewayHaSessionSnapshot,
82 GatewayHaTenantBinding, GatewayHaWorkerSnapshot, GatewayInstanceLease,
83 GatewayLocalRequestClaim, GatewayRegistryError, GatewayRegistryFuture, GatewayRegistryProvider,
84 GatewayRegistryResult, GatewayRequestFence, GatewaySessionRecord, GatewayWorkerRecord,
85 GatewayWorkerRegistration, MAX_GATEWAY_INSTANCE_LEASE_TTL_MS, MAX_GATEWAY_REGISTRY_CONCURRENCY,
86 MAX_GATEWAY_RESOLVE_CANDIDATES,
87};
88pub use heartbeat::spawn_heartbeat_pruner;
89pub use mesh::{
90 MeshPeerRequest, MeshPeerResponse, MeshPeerTransport, MESH_HTTP_SCHEMA_V1, MESH_PEER_RELAY_PATH,
91};
92pub use metrics::GatewayMetrics;
93pub use registry::{CapabilityRegistry, CapabilityRegistryStats};
94pub use resolver::{
95 CapabilityResolver, SelectionPolicy, WorkerSelectionError, WorkerSelectionInput,
96 WorkerSelectionPolicy,
97};
98pub use router::EnvelopeRouter;
99pub use runtime::{
100 GatewayRuntime, GatewayRuntimeDetails, GatewayRuntimeSnapshot, GatewayRuntimeState,
101};
102pub use service::make_gateway_router;
103pub use session::GatewaySession;
104pub use state::GatewayState;
105pub use telemetry::{
106 GatewayCapabilityTelemetrySnapshot, GatewayTelemetryExportError, GatewayTelemetryExporter,
107 GatewayTelemetrySnapshot, MAX_GATEWAY_TELEMETRY_CAPABILITIES,
108};
109pub use tenant::TenantState;
110pub use tenant_directory::SharedTenantState;
111
112#[cfg(test)]
113mod tests;