A container for RIP packet, provides easy to use accessors and modifiers.
typedef A Addr | Addr |
Addr _addr | _addr |
[protected]
uint16_t _port | _port |
[protected]
vector<uint8_t> _data | _data |
[protected]
uint32_t _max_entries | _max_entries |
[protected]
const uint8_t* base_ptr ()
| base_ptr |
[protected const]
uint8_t* base_ptr ()
| base_ptr |
[protected]
inline const Addr& address ()
| address |
[const]
Returns: destination address of packet.
inline uint16_t port ()
| port |
[const]
Returns: destination port of packet.
inline uint32_t max_entries ()
| max_entries |
[const]
Returns: the maximum number of route entries packet may have.
inline void set_max_entries (uint32_t max_entries)
| set_max_entries |
Set the maximum number of route entries a packet may have. This method should be called before using append_data methods as it resizes the internal storage and will cause appended data to be lost.
RipPacket (const Addr& addr,
uint16_t port,
uint32_t max_entries = RIPv2_ROUTES_PER_PACKET)
| RipPacket |
inline const RipPacketHeader* header ()
| header |
[const]
Returns: const pointer to RipPacketHeader.
inline RipPacketHeader* header ()
| header |
Returns: pointer to RipPacketHeader.
inline const PacketRouteEntry<A>* route_entry (uint32_t entry_no)
| route_entry |
[const]
Route entry accessor.
Parameters:
entry_no | index of route entry to retrive |
Returns: const pointer to route entry, or 0 if entry_no is greater than the maximum route entries associated with packet.
inline PacketRouteEntry<A>* route_entry (uint32_t entry_no)
| route_entry |
Route entry accessor.
Parameters:
entry_no | index of route entry to retrive |
Returns: const pointer to route entry, or 0 if entry_no is greater than the maximum route entries associated with packet.
void append_data (const uint8_t* data, uint32_t data_bytes)
| append_data |
void append_data (const vector<uint8_t>& data)
| append_data |
inline vector<uint8_t>& data ()
| data |
inline const vector<uint8_t>& data ()
| data |
[const]
inline uint32_t data_bytes ()
| data_bytes |
[const]
inline const uint8_t* data_ptr ()
| data_ptr |
[const]
inline uint8_t* data_ptr ()
| data_ptr |
template <typename A>
const RipPacketHeader*
header ()
| header |
[const]
template <typename A>
RipPacketHeader*
header ()
| header |
template <typename A>
const PacketRouteEntry<A>*
route_entry (uint32_t entry_no)
| route_entry |
[const]
template <typename A>
PacketRouteEntry<A>*
route_entry (uint32_t entry_no)
| route_entry |
template <typename A>
void
append_data (const uint8_t* data, uint32_t data_bytes)
| append_data |
template <typename A>
void
append_data (const vector<uint8_t>& data)
| append_data |
template <typename A>
void
set_max_entries (uint32_t max_entries)
| set_max_entries |