37 #ifndef SNET_SERVICE_MESSAGE_H 38 #define SNET_SERVICE_MESSAGE_H 44 SnetServiceMessage(uint8_t a_SrcServiceId = 0, uint8_t a_DstServiceId = 0, uint8_t a_Token = 0, uint16_t a_SrcSSA = 0xFFFE, uint16_t a_DstSSA = 0xFFFE,
bool a_OnAirARQ =
true):
SnetAppMessage(a_SrcServiceId, a_DstServiceId, a_Token, a_SrcSSA, a_DstSSA, a_OnAirARQ) {}
47 void SetPayload(
const std::vector<unsigned char> &a_Payload) { m_Payload = a_Payload; }
48 std::vector<unsigned char>
GetPayload()
const {
return m_Payload; }
56 l_Buffer.insert(l_Buffer.end(), m_Payload.begin(), m_Payload.end());
60 size_t Deserialize(
const std::vector<unsigned char>& a_Buffer) {
63 m_Payload.assign((a_Buffer.begin() + l_Offset), a_Buffer.end());
64 l_Offset += m_Payload.size();
72 std::stringstream l_Output;
73 l_Output <<
SnetAppMessage::Dissect() <<
", with " << std::dec << std::setw(3) << m_Payload.size() <<
" bytes payload:";
74 for (
auto it = m_Payload.begin(); it != m_Payload.end(); ++it) {
75 l_Output <<
" " << std::hex << std::setw(2) << std::setfill(
'0') << int(*it);
78 return l_Output.str();
82 std::vector<unsigned char> m_Payload;
85 #endif // SNET_SERVICE_MESSAGE_H std::string Dissect() const
size_t Deserialize(const std::vector< unsigned char > &a_Buffer)
void SetPayload(const std::vector< unsigned char > &a_Payload)
Copyright (c) 2016, Florian Evers, florian-evers@gmx.de All rights reserved.
std::vector< unsigned char > GetPayload() const
size_t Deserialize(const std::vector< unsigned char > &a_Buffer)
std::vector< unsigned char > Serialize() const
std::string Dissect() const
SnetServiceMessage(uint8_t a_SrcServiceId=0, uint8_t a_DstServiceId=0, uint8_t a_Token=0, uint16_t a_SrcSSA=0xFFFE, uint16_t a_DstSSA=0xFFFE, bool a_OnAirARQ=true)
std::vector< unsigned char > Serialize() const