reifydb_sub_server/lib.rs
1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2025 ReifyDB
3
4//! Common infrastructure shared by every server transport - gRPC, HTTP, WebSocket, admin. Owns the dispatch loop
5//! that accepts an authenticated request, looks up the binding, executes it through the engine, and serialises the
6//! result back to the caller. Authentication, format negotiation, response shaping, subscription bookkeeping, and
7//! interceptor hooks all live here so the transport-specific crates only need to handle protocol framing.
8//!
9//! This crate does not bind a socket; protocol-specific crates (`sub-server-grpc`, `sub-server-http`,
10//! `sub-server-ws`, `sub-server-admin`) do that and delegate every per-request decision back here.
11
12#![cfg_attr(not(debug_assertions), deny(clippy::disallowed_methods))]
13#![cfg_attr(debug_assertions, warn(clippy::disallowed_methods))]
14#![cfg_attr(not(debug_assertions), deny(warnings))]
15#![allow(clippy::tabs_in_doc_comments)]
16
17pub mod actor;
18pub mod auth;
19pub mod binding;
20pub mod dispatch;
21pub mod execute;
22pub mod format;
23pub mod interceptor;
24pub mod response;
25pub mod state;
26pub mod subscription;
27pub mod wire;