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 backfill;
29pub mod beef_limits;
30pub mod broadcaster;
31pub mod builder;
32pub mod engine;
33pub mod gasp;
34pub mod gasp_overlay;
35pub mod health_checker;
36mod load_remote;
37mod load_storage;
38pub mod lookup_service;
39pub mod meter;
40pub mod proof_window;
41mod script_door;
42pub mod ship_lookup;
43pub mod storage;
44pub mod stream_sizing;
45pub mod subject;
46mod sync_fetcher;
47pub mod sync_load;
48pub mod topic_manager;
49pub mod types;