mod bit_read;
mod bit_write;
pub mod device_id;
mod diagnostic;
mod fifo;
mod file;
mod mei;
mod reg_read;
mod reg_write;
pub use bit_read::{ReadCoilsRequest, ReadDiscreteInputsRequest};
pub use bit_write::{WriteMultipleCoilsRequest, WriteSingleCoilRequest};
pub use device_id::ReadDeviceIdentificationRequest;
pub use diagnostic::DiagnosticsRequest;
pub use fifo::ReadFifoQueueRequest;
pub use file::{FileSubRequest, ReadFileRecordRequest, WriteFileRecordRequest};
pub use mei::EncapsulatedInterfaceRequest;
pub use reg_read::{ReadHoldingRegistersRequest, ReadInputRegistersRequest};
pub use reg_write::{
MaskWriteRegisterRequest, ReadWriteMultipleRegistersRequest, WriteMultipleRegistersRequest,
WriteSingleRegisterRequest,
};
use crate::error::EncodeError;
pub trait Encode {
fn encode_into(&self, buf: &mut [u8]) -> Result<usize, EncodeError>;
fn encoded_len(&self) -> usize;
}