1#![cfg_attr(coverage_nightly, feature(coverage_attribute))]
2#![warn(clippy::pedantic)]
3#![allow(clippy::module_name_repetitions)]
4#![allow(clippy::missing_errors_doc)]
6#![allow(clippy::missing_panics_doc)]
8#![allow(clippy::cast_lossless)]
10#![allow(clippy::cast_precision_loss)]
12#![allow(clippy::redundant_async_block)]
14
15mod ban_manager;
16mod builder;
17mod config;
18mod connection;
19mod error;
20mod frame;
21mod global;
22mod id_manager;
23mod miner;
24mod miner_list;
25mod request;
26mod route;
27mod router;
28mod server;
29mod session;
30mod session_list;
31mod tcp;
32mod types;
33mod utils;
34
35#[cfg(feature = "api")]
36mod api;
37
38pub(crate) use crate::{
39 ban_manager::BanManager, connection::Connection, frame::Frame, miner_list::MinerList,
40};
41
42pub use crate::{
43 builder::StratumServerBuilder,
44 config::{Config, ConfigManager, ConnectionConfig, DifficultyConfig},
45 error::Error,
46 global::Global,
47 miner::Miner,
48 request::StratumRequest,
49 server::StratumServer,
50 session::Session,
51 session_list::SessionList,
52 types::{Difficulty, ReadyIndicator, SessionID, EX_MAGIC_NUMBER, ID},
53};
54
55pub type Result<T> = std::result::Result<T, Error>;