liminal-server 0.25.4

Standalone server for the liminal messaging bus
Documentation
#[cfg(test)]
#[path = "connection/anchor_settle_tests.rs"]
mod anchor_settle_tests;
#[path = "connection/apply.rs"]
mod apply;
mod broker_route;
#[path = "connection/channel_registry.rs"]
pub mod channel_registry;
#[path = "connection/conversation.rs"]
mod conversation;
#[path = "connection/delivery.rs"]
mod delivery;
#[path = "connection/incarnation.rs"]
mod incarnation;
#[cfg(test)]
#[path = "connection/incarnation_abandon_tests.rs"]
mod incarnation_abandon_tests;
#[cfg(test)]
#[path = "connection/incarnation_start_tests.rs"]
mod incarnation_start_tests;
#[cfg(test)]
#[path = "connection/incarnation_tests.rs"]
mod incarnation_tests;
mod lifecycle_route;
mod link_route;
#[path = "connection/loopback.rs"]
mod loopback;
#[path = "connection/notifier.rs"]
pub mod notifier;
#[path = "connection/outbound.rs"]
mod outbound;
#[path = "connection/participant_delivery.rs"]
mod participant_delivery;
#[cfg(test)]
#[path = "connection/participant_only_services.rs"]
pub(in crate::server) mod participant_only_services;
#[cfg(test)]
#[path = "connection/participant_runtime_tests.rs"]
mod participant_runtime_tests;
#[path = "connection/pending_reply.rs"]
mod pending_reply;
#[path = "connection/pre_admission.rs"]
pub(crate) mod pre_admission;
#[path = "connection/process.rs"]
mod process;
#[path = "connection/readiness_refusal.rs"]
mod readiness_refusal;
#[cfg(test)]
#[path = "connection/readiness_refusal_tests.rs"]
mod readiness_refusal_tests;
#[path = "connection/reclaim_placement.rs"]
pub(crate) mod reclaim_placement;
#[cfg(test)]
#[path = "connection/reclaim_placement_tests.rs"]
mod reclaim_placement_tests;
#[path = "connection/refusal.rs"]
pub(crate) mod refusal;
#[cfg(test)]
#[path = "connection/refusal_tests.rs"]
mod refusal_tests;
mod reply_service;
#[path = "connection/service_directory.rs"]
mod service_directory;
mod service_route;
mod service_tap;
#[path = "connection/services.rs"]
pub mod services;
#[cfg(test)]
#[path = "connection/services_a1_dedup_tests.rs"]
mod services_a1_dedup_tests;
#[cfg(test)]
#[path = "connection/services_adopt_config_tests.rs"]
mod services_adopt_config_tests;
#[path = "connection/services_cluster.rs"]
mod services_cluster;
#[cfg(test)]
#[path = "connection/services_r5_tests.rs"]
mod services_r5_tests;
#[path = "connection/services_schema.rs"]
mod services_schema;
#[cfg(test)]
mod services_tap_tests;
#[cfg(test)]
#[path = "connection/services_unresolved_restart_tests.rs"]
mod services_unresolved_restart_tests;
#[cfg(test)]
#[path = "connection/services_unresolved_tests.rs"]
mod services_unresolved_tests;
#[path = "connection/state.rs"]
mod state;
#[path = "connection/supervisor.rs"]
mod supervisor;
#[cfg(test)]
#[path = "connection/tests_no_path_refusal.rs"]
mod tests_no_path_refusal;
#[path = "connection/wake.rs"]
pub(crate) mod wake;
#[path = "connection/websocket.rs"]
pub(crate) mod websocket;
#[path = "connection/worker_front_door.rs"]
mod worker_front_door;
#[path = "connection/worker_route.rs"]
mod worker_route;

pub use channel_registry::{
    CONSOLE_NAMESPACE_PREFIX, CONSOLE_TAP_PREFIX, ChannelAccessError, ChannelConfigField,
    ChannelDescriptor, ChannelOrigin, ChannelRegistration, ChannelRegistryError, ChannelState,
    ChannelStatus, MAX_CHANNELS_KEY, Registered, console_tap_target, is_console_subject,
};
pub use conversation::{ConnectionConversation, ConversationResource};
// The in-process transport's public surface is exactly two names: the type an
// embedded caller holds and the constructor that mints it. `LoopbackServerEnd`
// is deliberately NOT re-exported — it is the half that touches the connection
// machinery, so the private `loopback` module is its visibility ceiling and the
// step-3 sites that need it (all of them inside `connection`) reach it as
// `loopback::LoopbackServerEnd`.
pub use loopback::{LoopbackClientEnd, LoopbackDuplex};
pub use notifier::{CheckpointCrossing, ConnectionNotifier, CrossingBinding, CrossingRecipient};
#[cfg(test)]
pub(crate) const fn assert_held_heads_are_move_only() {
    macro_rules! assert_not_impl {
        ($type:ty: $trait:path) => {
            const _: fn() = || {
                struct Probe<T: ?Sized>(core::marker::PhantomData<T>);
                trait AmbiguousIfImplemented<A> {
                    fn probe() {}
                }
                impl<T: ?Sized> AmbiguousIfImplemented<()> for Probe<T> {}
                impl<T: ?Sized + $trait> AmbiguousIfImplemented<u8> for Probe<T> {}
                let _ = <Probe<$type> as AmbiguousIfImplemented<_>>::probe;
            };
        };
    }
    assert_not_impl!(participant_delivery::HeldParticipantHead: Clone);
    assert_not_impl!(participant_delivery::HeldParticipantHead: Copy);
    assert_not_impl!(participant_delivery::HeldObserverHead: Clone);
    assert_not_impl!(participant_delivery::HeldObserverHead: Copy);
}
pub use services::{
    ChannelCluster, ChannelOperation, ConnectionServices, ConnectionSubscription,
    LiminalConnectionServices, PublishOutcome, build_connection_services,
};
pub use supervisor::ConnectionSupervisor;
pub use supervisor::builder::ConnectionSupervisorBuilder;
#[cfg(feature = "test-support")]
pub(crate) use supervisor::builder::configured_lys;
pub(crate) use supervisor::builder::{LysInstall, configured_lys_after_bind, lys_ask_runtime};
#[cfg(feature = "test-support")]
pub use supervisor::console_for_tests::ConsoleForTests;
pub use supervisor::context_watch::start_context_watch;
pub use supervisor::handle::{ConnectionHandle, PushReplyAwaiter};
pub(crate) use wake::ReadyWaker;
#[cfg(test)]
pub(in crate::server) use websocket::bound_tests as websocket_bound_tests;
pub use websocket::{BoundWebSocket, WebSocketListener};
pub use worker_front_door::WorkerFrontDoorServices;