s-net-Tools
SnetProbeRequest.h
Go to the documentation of this file.
1 
22 #ifndef SNET_PROBE_REQUEST_H
23 #define SNET_PROBE_REQUEST_H
24 
25 #include <vector>
26 #include "SnetAppMessage.h"
27 
29 public:
30  SnetProbeRequest(uint16_t a_SrcSSA, uint16_t a_DstSSA): SnetAppMessage(0x22, 0x22, 0x00, a_SrcSSA, a_DstSSA, true), m_LocalSeed(0), m_LocalSeqNbr(0) {}
31 
32  // Setters
33  void SetLocalSeed (uint32_t a_LocalSeed = 0) { m_LocalSeed = a_LocalSeed; }
34  void SetLocalSeqNbr(uint32_t a_LocalSeqNbr = 0) { m_LocalSeqNbr = a_LocalSeqNbr; }
35 
36  // Query the size of the packet in bytes
37  size_t GetSize() const { return (SnetAppMessage::GetSize() + 8); }
38 
39  // Serializer
40  std::vector<unsigned char> Serialize() const {
41  std::vector<unsigned char> l_Buffer(SnetAppMessage::Serialize());
42  l_Buffer.emplace_back((m_LocalSeed & 0xFF000000) >> 24);
43  l_Buffer.emplace_back((m_LocalSeed & 0x00FF0000) >> 16);
44  l_Buffer.emplace_back((m_LocalSeed & 0x0000FF00) >> 8);
45  l_Buffer.emplace_back (m_LocalSeed & 0x000000FF);
46  l_Buffer.emplace_back((m_LocalSeqNbr & 0xFF000000) >> 24);
47  l_Buffer.emplace_back((m_LocalSeqNbr & 0x00FF0000) >> 16);
48  l_Buffer.emplace_back((m_LocalSeqNbr & 0x0000FF00) >> 8);
49  l_Buffer.emplace_back (m_LocalSeqNbr & 0x000000FF);
50  return l_Buffer;
51  }
52 
53 private:
54  // Members
55  uint32_t m_LocalSeed;
56  uint32_t m_LocalSeqNbr;
57 };
58 
59 #endif // SNET_PROBE_REQUEST_H
void SetLocalSeed(uint32_t a_LocalSeed=0)
void SetLocalSeqNbr(uint32_t a_LocalSeqNbr=0)
Copyright (c) 2016, Florian Evers, florian-evers@gmx.de All rights reserved.
std::vector< unsigned char > Serialize() const
SnetProbeRequest(uint16_t a_SrcSSA, uint16_t a_DstSSA)
std::vector< unsigned char > Serialize() const
size_t GetSize() const
size_t GetSize() const