PcapPlusPlus
Next
|
Represents a DoIP Entity Status Response message. More...
#include <DoIpLayer.h>
Public Member Functions | |
DoIpEntityStatusResponse (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet) | |
Constructs the layer from raw DoIP packet data. More... | |
DoIpEntityStatusResponse (DoIpEntityStatusResponseCode nodeType, uint8_t maxConcurrentSockets, uint8_t currentlyOpenSockets) | |
Constructs the message using provided field values. More... | |
DoIpPayloadTypes | getPayloadType () const override |
Returns the DoIP payload type. More... | |
DoIpEntityStatusResponseCode | getNodeType () const |
Gets the type of the DoIP node. More... | |
uint8_t | getMaxConcurrentSockets () const |
Gets the maximum number of concurrent sockets supported. More... | |
uint8_t | getCurrentlyOpenSockets () const |
Gets the number of currently open sockets. More... | |
uint32_t | getMaxDataSize () const |
Gets the optional maximum data size field. More... | |
void | setNodeType (DoIpEntityStatusResponseCode status) |
Sets the DoIP node type. More... | |
void | setMaxConcurrentSockets (uint8_t sockets) |
Sets the maximum number of concurrent sockets. More... | |
void | setCurrentlyOpenSockets (uint8_t sockets) |
Sets the number of currently open sockets. More... | |
void | setMaxDataSize (uint32_t data) |
Sets the maximum data size field. More... | |
bool | hasMaxDataSize () const |
Checks if the optional max data size is present. More... | |
void | clearMaxDataSize () |
Clears the optional max data size field. | |
std::string | getSummary () const |
Returns a human-readable summary of the message. More... | |
![]() | |
std::string | getPayloadTypeAsStr () const |
DoIpProtocolVersion | getProtocolVersion () const |
std::string | getProtocolVersionAsStr () const |
void | setProtocolVersion (DoIpProtocolVersion version) |
void | setProtocolVersion (uint8_t rawVersion) |
uint8_t | getInvertProtocolVersion () const |
void | setInvertProtocolVersion (uint8_t iVersion) |
uint32_t | getPayloadLength () const |
void | setPayloadLength (uint32_t length) |
void | parseNextLayer () override |
parse UDS layer | |
size_t | getHeaderLen () const override |
std::string | toString () const override |
void | computeCalculateFields () override |
Each layer can compute field values automatically using this method. This is an abstract method. | |
OsiModelLayer | getOsiModelLayer () const override |
![]() | |
~Layer () override | |
Layer * | getNextLayer () const |
Layer * | getPrevLayer () const |
ProtocolType | getProtocol () const |
bool | isMemberOfProtocolFamily (ProtocolTypeFamily protocolTypeFamily) const |
uint8_t * | getData () const |
size_t | getDataLen () const |
uint8_t * | getLayerPayload () const |
size_t | getLayerPayloadSize () const |
bool | isAllocatedToPacket () const |
void | copyData (uint8_t *toArr) const |
uint8_t * | getDataPtr (size_t offset=0) const override |
Static Public Member Functions | |
static bool | isDataLenValid (size_t dataLen) |
Checks if the Entity Status Response data length is valid. More... | |
![]() | |
static DoIpLayer * | parseDoIpLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet) |
static bool | isDoIpPort (uint16_t port) |
static bool | isDataValid (uint8_t *data, size_t dataLen) |
Additional Inherited Members | |
![]() | |
template<typename T , typename... Args> | |
Layer * | constructNextLayer (uint8_t *data, size_t dataLen, Packet *packet, Args &&... extraArgs) |
template<typename T , typename TFallback , typename... Args> | |
Layer * | tryConstructNextLayerWithFallback (uint8_t *data, size_t dataLen, Packet *packet, Args &&... extraArgs) |
![]() | |
template<typename T > | |
static bool | canReinterpretAs (const uint8_t *data, size_t dataLen) |
Check if the data is large enough to reinterpret as a type. More... | |
Represents a DoIP Entity Status Response message.
This message provides the status of a DoIP entity, such as its type, the number of concurrent sockets it can support, and optionally the max data size.
pcpp::DoIpEntityStatusResponse::DoIpEntityStatusResponse | ( | uint8_t * | data, |
size_t | dataLen, | ||
Layer * | prevLayer, | ||
Packet * | packet | ||
) |
Constructs the layer from raw DoIP packet data.
[in] | data | Pointer to the raw data buffer. |
[in] | dataLen | Size of the data buffer in bytes. |
[in] | prevLayer | Pointer to the previous protocol layer. |
[in] | packet | Pointer to the parent packet. |
pcpp::DoIpEntityStatusResponse::DoIpEntityStatusResponse | ( | DoIpEntityStatusResponseCode | nodeType, |
uint8_t | maxConcurrentSockets, | ||
uint8_t | currentlyOpenSockets | ||
) |
Constructs the message using provided field values.
[in] | nodeType | Type of the DoIP node (default: GATEWAY). |
[in] | maxConcurrentSockets | Maximum supported concurrent sockets. |
[in] | currentlyOpenSockets | Currently active sockets. |
uint8_t pcpp::DoIpEntityStatusResponse::getCurrentlyOpenSockets | ( | ) | const |
Gets the number of currently open sockets.
uint8_t pcpp::DoIpEntityStatusResponse::getMaxConcurrentSockets | ( | ) | const |
Gets the maximum number of concurrent sockets supported.
uint32_t pcpp::DoIpEntityStatusResponse::getMaxDataSize | ( | ) | const |
Gets the optional maximum data size field.
std::runtime_error | if the max data size is not present. |
DoIpEntityStatusResponseCode pcpp::DoIpEntityStatusResponse::getNodeType | ( | ) | const |
Gets the type of the DoIP node.
|
inlineoverridevirtual |
Returns the DoIP payload type.
Implements pcpp::DoIpLayer.
std::string pcpp::DoIpEntityStatusResponse::getSummary | ( | ) | const |
Returns a human-readable summary of the message.
bool pcpp::DoIpEntityStatusResponse::hasMaxDataSize | ( | ) | const |
Checks if the optional max data size is present.
|
inlinestatic |
Checks if the Entity Status Response data length is valid.
[in] | dataLen | Length of the data buffer. |
void pcpp::DoIpEntityStatusResponse::setCurrentlyOpenSockets | ( | uint8_t | sockets | ) |
Sets the number of currently open sockets.
[in] | sockets | New count of currently open sockets. |
void pcpp::DoIpEntityStatusResponse::setMaxConcurrentSockets | ( | uint8_t | sockets | ) |
Sets the maximum number of concurrent sockets.
[in] | sockets | New maximum concurrent socket count. |
void pcpp::DoIpEntityStatusResponse::setMaxDataSize | ( | uint32_t | data | ) |
Sets the maximum data size field.
[in] | data | uint32_t representing the max data size. |
void pcpp::DoIpEntityStatusResponse::setNodeType | ( | DoIpEntityStatusResponseCode | status | ) |
Sets the DoIP node type.
[in] | status | enum DoIpEntityStatusResponseCode representing the node type to set. |