pub enum Response {
    ReadCoils(Vec<bool>),
    ReadDiscreteInputs(Vec<bool>),
    WriteSingleCoil(Address, bool),
    WriteMultipleCoils(Address, Quantity),
    ReadInputRegisters(Vec<u16>),
    ReadHoldingRegisters(Vec<u16>),
    WriteSingleRegister(Address, u16),
    WriteMultipleRegisters(Address, Quantity),
    MaskWriteRegister(Address, u16, u16),
    ReadWriteMultipleRegisters(Vec<u16>),
    Custom(u8, Bytes),
}
Expand description

The data of a successful request.

ReadCoils/ReadDiscreteInputs: The length of the result Vec is always a multiple of 8. Only the values of the first bits/coils that have actually been requested are defined. The value of the remaining bits depend on the server implementation and those coils should be should be ignored.

Variants§

§

ReadCoils(Vec<bool>)

Response to a ReadCoils request The parameter contains the coil values that have been read See also the note above regarding the vector length

§

ReadDiscreteInputs(Vec<bool>)

Response to a ReadDiscreteInputs request The parameter contains the discrete input values that have been read See also the note above regarding the vector length

§

WriteSingleCoil(Address, bool)

Response to a WriteSingleCoil request The first parameter contains the address of the coil that has been written to The second parameter contains the value that has been written to the coil the given address

§

WriteMultipleCoils(Address, Quantity)

Response to a WriteMultipleCoils request The first parameter contains the address at the start of the range that has been written to The second parameter contains the amount of values that have been written

§

ReadInputRegisters(Vec<u16>)

Response to a ReadInputRegisters request The parameter contains the register values that have been read

§

ReadHoldingRegisters(Vec<u16>)

Response to a ReadHoldingRegisters request The parameter contains the register values that have been read

§

WriteSingleRegister(Address, u16)

Response to a WriteSingleRegister request The first parameter contains the address of the register that has been written to The second parameter contains the value that has been written to the register at the given address

§

WriteMultipleRegisters(Address, Quantity)

Response to a WriteMultipleRegisters request The first parameter contains the address at the start of the register range that has been written to The second parameter contains the amount of register that have been written

§

MaskWriteRegister(Address, u16, u16)

Response MaskWriteRegister The first parameter is the address of the holding register. The second parameter is the AND mask. The third parameter is the OR mask.

§

ReadWriteMultipleRegisters(Vec<u16>)

Response to a ReadWriteMultipleRegisters request The parameter contains the register values that have been read as part of the read instruction

§

Custom(u8, Bytes)

Response to a raw Modbus request The first parameter contains the returned Modbus function code The second parameter contains the bytes read following the function code

Implementations§

source§

impl Response

source

pub const fn function_code(&self) -> FunctionCode

Get the FunctionCode of the Response.

Trait Implementations§

source§

impl Clone for Response

source§

fn clone(&self) -> Response

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Response

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<Response> for Bytes

source§

fn from(rsp: Response) -> Bytes

Converts to this type from the input type.
source§

impl PartialEq for Response

source§

fn eq(&self, other: &Response) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl TryFrom<Bytes> for Response

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(bytes: Bytes) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl Eq for Response

source§

impl StructuralPartialEq for Response

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more