8 #ifndef DIAGNOSTIC_CLIENT_LIB_LIB_DOIP_CLIENT_COMMON_DOIP_MESSAGE_H
9 #define DIAGNOSTIC_CLIENT_LIB_LIB_DOIP_CLIENT_COMMON_DOIP_MESSAGE_H
13 #include <string_view>
A view over a contiguous sequence of objects.
Immutable class to store received doip message.
DoipMessage(MessageType message_type, IpAddressType host_ip_address, std::uint16_t host_port_number, core_type::Span< std::uint8_t const > payload)
Constructs an instance of DoipMessage.
std::uint8_t GetInverseProtocolVersion() const
Get the inverse protocol version.
std::uint16_t GetServerAddress() const
Get the payload type.
DoipMessage(DoipMessage &&other) noexcept=default
~DoipMessage() noexcept=default
Destructs an instance of DoipMessage.
std::uint16_t client_address_
Store server address.
core_type::Span< std::uint8_t const > GetPayload() const
Get the payload.
std::uint8_t protocol_version_
Store protocol version.
std::uint16_t GetPayloadType() const
Get the payload type.
DoipMessage & operator=(DoipMessage &&other) noexcept=default
core_type::Span< std::uint8_t const > payload_
Store payload.
std::uint8_t protocol_version_inv_
Store protocol inverse version.
MessageType
Definition of message type.
std::uint16_t GetClientAddress() const
Get the payload type.
std::uint16_t server_address_
Store server address.
std::uint32_t payload_length_
Store payload length.
RxSocketType
Definition of socket type from where the request was received.
std::uint16_t GetHostPortNumber() const
Get the host port number.
DoipMessage & operator=(const DoipMessage &other)=default
std::uint32_t GetPayloadLength() const
Get the payload length.
DoipMessage(const DoipMessage &other)=default
Default copy assignment, copy constructor, move assignment and move constructor.
std::string host_ip_address_
Store remote ip address.
std::uint16_t host_port_number_
Store remote port number.
std::uint16_t payload_type_
Store payload type.
IpAddressType GetHostIpAddress() const
Get the host ip address.
std::uint8_t GetProtocolVersion() const
Get the protocol version.
std::string_view IpAddressType
Type alias of IP address type.