Skip to main content

bsv_overlay_engine/
lib.rs

1//! BSV Overlay Services Engine — core library.
2//!
3//! Provides the [`Engine`](engine::Engine) orchestrator, storage/topic/lookup traits,
4//! GASP sync protocol, and all shared types for the overlay network.
5//!
6//! This crate is framework-agnostic — it contains zero HTTP or deployment logic.
7//! Deployment targets (Cloudflare Workers, Axum, etc.) wrap this crate with HTTP routing.
8
9#![deny(clippy::all)]
10#![warn(clippy::pedantic)]
11#![allow(clippy::module_name_repetitions)]
12#![allow(clippy::must_use_candidate)]
13#![allow(clippy::missing_errors_doc)]
14#![allow(clippy::missing_panics_doc)]
15#![allow(clippy::doc_markdown)] // backtick noise on BRC-XX, GASP, etc.
16#![allow(clippy::wildcard_imports)] // common in test modules
17#![allow(clippy::too_many_lines)] // engine.rs submit() is necessarily long
18#![allow(clippy::cast_precision_loss)] // u64→f64 for scores is intentional
19#![allow(clippy::cast_possible_truncation)] // u64→usize is fine on 64-bit
20#![allow(clippy::items_after_statements)] // struct-in-function pattern in engine
21#![allow(clippy::return_self_not_must_use)] // builder pattern methods
22#![allow(clippy::match_same_arms)] // spend notification mode dispatch
23#![allow(clippy::needless_bool_assign)] // clarity over brevity
24#![allow(clippy::cast_sign_loss)] // f64→u64 for scores, negatives not meaningful
25#![allow(clippy::let_and_return)] // sometimes clearer
26
27pub mod advertiser;
28pub mod beef_limits;
29pub mod broadcaster;
30pub mod builder;
31pub mod engine;
32pub mod gasp;
33pub mod gasp_overlay;
34pub mod health_checker;
35pub mod lookup_service;
36mod script_door;
37pub mod ship_lookup;
38pub mod storage;
39pub mod stream_sizing;
40pub mod subject;
41pub mod topic_manager;
42pub mod types;