1#![doc = include_str!("../README.md")]
5#![warn(future_incompatible)]
8#![warn(let_underscore)]
9#![warn(missing_debug_implementations)]
10#![warn(rust_2018_idioms)]
12#![warn(rust_2021_compatibility)]
13#![warn(unreachable_pub)]
14#![warn(unsafe_code)]
15#![warn(unused)]
16#![warn(clippy::pedantic)]
18#![warn(clippy::clone_on_ref_ptr)]
20#![warn(clippy::self_named_module_files)]
21#![allow(clippy::enum_glob_use)]
23#![allow(clippy::similar_names)]
24#![allow(clippy::module_name_repetitions)]
25#![allow(clippy::wildcard_imports)] #![allow(clippy::missing_errors_doc)] pub use bytes;
34
35pub mod prelude;
36
37pub mod client;
38
39pub mod slave;
40pub use self::slave::{Slave, SlaveId};
41
42mod codec;
43
44mod error;
45pub use self::error::{Error, ProtocolError};
46
47mod frame;
48#[cfg(feature = "server")]
49pub use self::frame::SlaveRequest;
50pub use self::frame::{
51 Address, ExceptionCode, ExceptionResponse, FunctionCode, Quantity, Request, Response,
52};
53
54pub type Result<T> = std::result::Result<std::result::Result<T, ExceptionCode>, Error>;
63
64mod service;
65
66#[cfg(feature = "server")]
67pub mod server;