liminal_server/server/
connection.rs1#[path = "connection/apply.rs"]
2mod apply;
3#[path = "connection/conversation.rs"]
4mod conversation;
5#[path = "connection/delivery.rs"]
6mod delivery;
7#[path = "connection/incarnation.rs"]
8mod incarnation;
9#[cfg(test)]
10#[path = "connection/incarnation_tests.rs"]
11mod incarnation_tests;
12#[path = "connection/notifier.rs"]
13pub mod notifier;
14#[path = "connection/outbound.rs"]
15mod outbound;
16#[path = "connection/participant_delivery.rs"]
17mod participant_delivery;
18#[cfg(test)]
19#[path = "connection/participant_runtime_tests.rs"]
20mod participant_runtime_tests;
21#[path = "connection/pending_reply.rs"]
22mod pending_reply;
23#[path = "connection/process.rs"]
24mod process;
25#[path = "connection/services.rs"]
26pub mod services;
27#[path = "connection/services_cluster.rs"]
28mod services_cluster;
29#[cfg(test)]
30#[path = "connection/services_r5_tests.rs"]
31mod services_r5_tests;
32#[path = "connection/services_schema.rs"]
33mod services_schema;
34#[path = "connection/state.rs"]
35mod state;
36#[path = "connection/supervisor.rs"]
37mod supervisor;
38#[path = "connection/wake.rs"]
39pub(crate) mod wake;
40#[path = "connection/websocket.rs"]
41mod websocket;
42#[path = "connection/worker_front_door.rs"]
43mod worker_front_door;
44
45pub use conversation::{ConnectionConversation, ConversationResource};
46pub use notifier::ConnectionNotifier;
47#[cfg(test)]
48pub(crate) const fn assert_held_heads_are_move_only() {
49 macro_rules! assert_not_impl {
50 ($type:ty: $trait:path) => {
51 const _: fn() = || {
52 struct Probe<T: ?Sized>(core::marker::PhantomData<T>);
53 trait AmbiguousIfImplemented<A> {
54 fn probe() {}
55 }
56 impl<T: ?Sized> AmbiguousIfImplemented<()> for Probe<T> {}
57 impl<T: ?Sized + $trait> AmbiguousIfImplemented<u8> for Probe<T> {}
58 let _ = <Probe<$type> as AmbiguousIfImplemented<_>>::probe;
59 };
60 };
61 }
62 assert_not_impl!(participant_delivery::HeldParticipantHead: Clone);
63 assert_not_impl!(participant_delivery::HeldParticipantHead: Copy);
64 assert_not_impl!(participant_delivery::HeldObserverHead: Clone);
65 assert_not_impl!(participant_delivery::HeldObserverHead: Copy);
66}
67pub use services::{
68 ChannelCluster, ConnectionServices, ConnectionSubscription, LiminalConnectionServices,
69 PublishOutcome, build_connection_services,
70};
71pub use supervisor::{ConnectionHandle, ConnectionSupervisor, PushReplyAwaiter};
72pub(crate) use wake::ReadyWaker;
73pub use websocket::WebSocketListener;
74pub use worker_front_door::WorkerFrontDoorServices;