|
DESERT 4.0.0
|
#include <packer_uwUFetch.h>


Public Member Functions | |
| packer_uwUFetch () | |
| ~packer_uwUFetch () | |
Public Member Functions inherited from packer | |
| packer (bool) | |
| ~packer () | |
| int | command (int, const char *const *) |
| size_t | getPayloadBytesLength () |
| size_t | getHdrBytesLength () |
| size_t | getPayloadBinLength () |
| size_t | getHdrBinLength () |
| std::string | packPayload (Packet *) |
| std::string | packHdr (Packet *) |
| Packet * | unpackPayload (Packet *) |
| Packet * | unpackHdr (Packet *) |
| void | printMap () |
Private Types | |
| enum | nbits_index { T_BCK_MAX_PROBE , T_BCK_MIN_PROBE , N_CBEACON_TX , T_BCK_CHOICE_SENSOR , N_PCK_SENSOR_WANT_TX , MAC_ADDR_SENSOR_POLLED , N_PCK_HN_WANT_RX , MAX_CBEACON_TX_HN , T_BCK_MAX_RTS , T_BCK_MIN_RTS , N_PCK_AUV_WANT_RX , NUM_DATA_PCKS , BACKOFF_TIME_RTS , NUM_DATA_PCKS_MAX_RX , MAC_ADDR_HN_CTSED } |
Private Member Functions | |
| void | init () |
| size_t | packMyHdr (Packet *, unsigned char *, size_t) |
| size_t | unpackMyHdr (unsigned char *, size_t, Packet *) |
| void | printMyHdrMap () |
| void | printMyHdrFields (Packet *) |
Private Attributes | |
| size_t | t_bck_max_probe_Bits |
| size_t | t_bck_min_probe_Bits |
| size_t | n_cbeacon_tx_Bits |
| size_t | t_bck_choice_sensor_Bits |
| size_t | n_pck_sensor_want_tx_Bits |
| size_t | mac_addr_sensor_polled_Bits |
| size_t | n_pck_hn_want_tx_Bits |
| size_t | max_cbeacon_tx_hn_Bits |
| size_t | t_bck_max_rts_Bits |
| size_t | t_bck_min_rts_Bits |
| size_t | max_pck_want_rx_Bits |
| size_t | num_DATA_pcks_Bits |
| size_t | backoff_time_RTS_Bits |
| size_t | num_DATA_pcks_MAX_rx_Bits |
| size_t | mac_addr_HN_ctsed_Bits |
Additional Inherited Members | |
Static Public Member Functions inherited from packer | |
| template<typename T > | |
| static T | restoreSignedValue (T _header_field, const uint32_t &_num_compressed_bits) |
| static std::string | hexdump_nice (std::string) |
| static std::string | hexdump_nice (const char *, size_t) |
| static std::string | hexdump (std::string) |
| static std::string | hex_bytes (float) |
| static std::string | hex_bytes (double) |
| static std::string | hex_bytes (const char &, const uint32_t &) |
| static std::string | hex_bytes (const int8_t &, const uint32_t &) |
| static std::string | hex_bytes (const int16_t &, const uint32_t &) |
| static std::string | hex_bytes (const int32_t &, const uint32_t &) |
| static std::string | hex_bytes (const int64_t &, const uint32_t &) |
| static std::string | hex_bytes (const uint8_t &, const uint32_t &) |
| static std::string | hex_bytes (const uint16_t &, const uint32_t &) |
| static std::string | hex_bytes (const uint32_t &, const uint32_t &) |
| static std::string | hex_bytes (const uint64_t &, const uint32_t &) |
| static std::string | hexdump (const char *, size_t) |
| static std::string | bindump (std::string) |
| static std::string | bindump (const char *, size_t) |
Protected Member Functions inherited from packer | |
| virtual void | printMyHdrField (Packet *, int) |
| size_t | getMyHdrBinLength () |
| size_t | get (unsigned char *buffer, size_t offset, void *val, size_t h) |
| size_t | put (unsigned char *buffer, size_t offset, void *val, size_t h) |
Protected Attributes inherited from packer | |
| std::vector< size_t > | n_bits |
| int | debug_ |
Class to map a ns2 mac header into a bit stream, and vice-versa.
|
private |
| packer_uwUFetch::packer_uwUFetch | ( | ) |
Constructor packer_uwUFetch class
References backoff_time_RTS_Bits, init(), mac_addr_HN_ctsed_Bits, mac_addr_sensor_polled_Bits, max_cbeacon_tx_hn_Bits, max_pck_want_rx_Bits, n_cbeacon_tx_Bits, n_pck_hn_want_tx_Bits, n_pck_sensor_want_tx_Bits, num_DATA_pcks_Bits, num_DATA_pcks_MAX_rx_Bits, t_bck_choice_sensor_Bits, t_bck_max_probe_Bits, t_bck_max_rts_Bits, t_bck_min_probe_Bits, and t_bck_min_rts_Bits.

| packer_uwUFetch::~packer_uwUFetch | ( | ) |
Destructor packer_uwUFetch class
|
privatevirtual |
Init the packer for uwUFetch prototocol
Reimplemented from packer.
References BACKOFF_TIME_RTS, backoff_time_RTS_Bits, packer::debug_, MAC_ADDR_HN_CTSED, mac_addr_HN_ctsed_Bits, MAC_ADDR_SENSOR_POLLED, mac_addr_sensor_polled_Bits, MAX_CBEACON_TX_HN, max_cbeacon_tx_hn_Bits, max_pck_want_rx_Bits, packer::n_bits, N_CBEACON_TX, n_cbeacon_tx_Bits, N_PCK_AUV_WANT_RX, N_PCK_HN_WANT_RX, n_pck_hn_want_tx_Bits, N_PCK_SENSOR_WANT_TX, n_pck_sensor_want_tx_Bits, NUM_DATA_PCKS, num_DATA_pcks_Bits, NUM_DATA_PCKS_MAX_RX, num_DATA_pcks_MAX_rx_Bits, T_BCK_CHOICE_SENSOR, t_bck_choice_sensor_Bits, T_BCK_MAX_PROBE, t_bck_max_probe_Bits, T_BCK_MAX_RTS, t_bck_max_rts_Bits, T_BCK_MIN_PROBE, t_bck_min_probe_Bits, T_BCK_MIN_RTS, and t_bck_min_rts_Bits.
Referenced by packer_uwUFetch().
|
privatevirtual |
Method to transform the headers of UFetch protocol into a stream of bits
| Pointer | to the packet to serialize |
| Pointer | to the buffer |
| Offset | from the begin of the buffer |
Reimplemented from packer.
References hdr_PROBE_UFETCH::backoff_time_PROBE_, BACKOFF_TIME_RTS, hdr_RTS_UFETCH::backoff_time_RTS_, packer::debug_, MAC_ADDR_HN_CTSED, hdr_CTS_UFETCH::mac_addr_HN_ctsed_, hdr_POLL_UFETCH::mac_addr_Node_polled_, MAC_ADDR_SENSOR_POLLED, MAX_CBEACON_TX_HN, hdr_TRIGGER_UFETCH::max_pck_want_rx_, packer::n_bits, N_CBEACON_TX, hdr_PROBE_UFETCH::n_DATA_pcks_Node_tx_, N_PCK_AUV_WANT_RX, N_PCK_HN_WANT_RX, N_PCK_SENSOR_WANT_TX, NUM_DATA_PCKS, hdr_RTS_UFETCH::num_DATA_pcks_, NUM_DATA_PCKS_MAX_RX, hdr_CTS_UFETCH::num_DATA_pcks_MAX_rx_, hdr_POLL_UFETCH::num_DATA_pcks_MAX_rx_, hdr_BEACON_UFETCH::num_Max_CBEACON_tx_by_HN_, hdr_CBEACON_UFETCH::num_Max_CBEACON_tx_by_HN_, printMyHdrFields(), PT_BEACON_UFETCH, PT_CBEACON_UFETCH, PT_CTS_UFETCH, PT_POLL_UFETCH, PT_PROBE_UFETCH, PT_RTS_UFETCH, PT_TRIGGER_UFETCH, packer::put(), T_BCK_CHOICE_SENSOR, T_BCK_MAX_PROBE, T_BCK_MAX_RTS, T_BCK_MIN_PROBE, T_BCK_MIN_RTS, hdr_TRIGGER_UFETCH::t_max_, hdr_BEACON_UFETCH::t_max_bc_, hdr_CBEACON_UFETCH::t_max_bc_, hdr_TRIGGER_UFETCH::t_min_, hdr_BEACON_UFETCH::t_min_bc_, and hdr_CBEACON_UFETCH::t_min_bc_.

|
privatevirtual |
Method used for debug purposes. It prints the value of the headers of a packet
| Pointer | of the packet Index bits |
Reimplemented from packer.
References hdr_PROBE_UFETCH::backoff_time_PROBE_, hdr_RTS_UFETCH::backoff_time_RTS_, hdr_CTS_UFETCH::mac_addr_HN_ctsed_, hdr_POLL_UFETCH::mac_addr_Node_polled_, hdr_TRIGGER_UFETCH::max_pck_want_rx_, hdr_PROBE_UFETCH::n_DATA_pcks_Node_tx_, hdr_RTS_UFETCH::num_DATA_pcks_, hdr_CTS_UFETCH::num_DATA_pcks_MAX_rx_, hdr_POLL_UFETCH::num_DATA_pcks_MAX_rx_, hdr_BEACON_UFETCH::num_Max_CBEACON_tx_by_HN_, hdr_CBEACON_UFETCH::num_Max_CBEACON_tx_by_HN_, PT_BEACON_UFETCH, PT_CBEACON_UFETCH, PT_CTS_UFETCH, PT_POLL_UFETCH, PT_PROBE_UFETCH, PT_RTS_UFETCH, PT_TRIGGER_UFETCH, hdr_TRIGGER_UFETCH::t_max_, hdr_BEACON_UFETCH::t_max_bc_, hdr_CBEACON_UFETCH::t_max_bc_, hdr_TRIGGER_UFETCH::t_min_, hdr_BEACON_UFETCH::t_min_bc_, and hdr_CBEACON_UFETCH::t_min_bc_.
Referenced by packMyHdr(), and unpackMyHdr().
|
privatevirtual |
Method used for debug purposes. It prints the number of bits for each header serialized
Reimplemented from packer.
References BACKOFF_TIME_RTS, MAC_ADDR_HN_CTSED, MAC_ADDR_SENSOR_POLLED, MAX_CBEACON_TX_HN, packer::n_bits, N_CBEACON_TX, N_PCK_AUV_WANT_RX, N_PCK_HN_WANT_RX, N_PCK_SENSOR_WANT_TX, NUM_DATA_PCKS, NUM_DATA_PCKS_MAX_RX, T_BCK_CHOICE_SENSOR, T_BCK_MAX_PROBE, T_BCK_MAX_RTS, T_BCK_MIN_PROBE, and T_BCK_MIN_RTS.
|
privatevirtual |
Method responsible to take the informations from the received buffer and store it into the headers of the packet
| Pointer | to the buffer received |
| Offset | from the begin of the buffer |
| Pointer | to the new packet |
Reimplemented from packer.
References hdr_PROBE_UFETCH::backoff_time_PROBE_, BACKOFF_TIME_RTS, hdr_RTS_UFETCH::backoff_time_RTS_, packer::debug_, packer::get(), MAC_ADDR_HN_CTSED, hdr_CTS_UFETCH::mac_addr_HN_ctsed_, hdr_POLL_UFETCH::mac_addr_Node_polled_, MAC_ADDR_SENSOR_POLLED, MAX_CBEACON_TX_HN, hdr_TRIGGER_UFETCH::max_pck_want_rx_, packer::n_bits, N_CBEACON_TX, hdr_PROBE_UFETCH::n_DATA_pcks_Node_tx_, N_PCK_AUV_WANT_RX, N_PCK_HN_WANT_RX, N_PCK_SENSOR_WANT_TX, NUM_DATA_PCKS, hdr_RTS_UFETCH::num_DATA_pcks_, NUM_DATA_PCKS_MAX_RX, hdr_CTS_UFETCH::num_DATA_pcks_MAX_rx_, hdr_POLL_UFETCH::num_DATA_pcks_MAX_rx_, hdr_BEACON_UFETCH::num_Max_CBEACON_tx_by_HN_, hdr_CBEACON_UFETCH::num_Max_CBEACON_tx_by_HN_, printMyHdrFields(), PT_BEACON_UFETCH, PT_CBEACON_UFETCH, PT_CTS_UFETCH, PT_POLL_UFETCH, PT_PROBE_UFETCH, PT_RTS_UFETCH, PT_TRIGGER_UFETCH, T_BCK_CHOICE_SENSOR, T_BCK_MAX_PROBE, T_BCK_MAX_RTS, T_BCK_MIN_PROBE, T_BCK_MIN_RTS, hdr_TRIGGER_UFETCH::t_max_, hdr_BEACON_UFETCH::t_max_bc_, hdr_CBEACON_UFETCH::t_max_bc_, hdr_TRIGGER_UFETCH::t_min_, hdr_BEACON_UFETCH::t_min_bc_, and hdr_CBEACON_UFETCH::t_min_bc_.

|
private |
number of bits used for backoff_time_RTS_ field on TRIGGER header
Referenced by init(), and packer_uwUFetch().
|
private |
number of bits used for mac_addr_HN_ctsed_ field on CTS header
Referenced by init(), and packer_uwUFetch().
|
private |
number of bits used for mac_addr_sensor_polled_ field on POLL header
Referenced by init(), and packer_uwUFetch().
|
private |
number of bits used for max_cbeacon_tx_hn_ field on CBEACON header
Referenced by init(), and packer_uwUFetch().
|
private |
number of bits used for max_pck_want_rx_ field on TRIGGER header
Referenced by init(), and packer_uwUFetch().
|
private |
number of bits used for n_cbeacon_tx_ field on BEACON header
Referenced by init(), and packer_uwUFetch().
|
private |
number of bits used for n_pck_hn_want_tx_ field on POLL header
Referenced by init(), and packer_uwUFetch().
|
private |
number of bits used for n_pck_sensor_want_tx_ field on PROBE header
Referenced by init(), and packer_uwUFetch().
|
private |
number of bits used for num_DATA_pcks_ field on TRIGGER header
Referenced by init(), and packer_uwUFetch().
|
private |
number of bits used for num_DATA_pcks_MAX_rx_ field on RTSheader
Referenced by init(), and packer_uwUFetch().
|
private |
number of bits used for t_bck_choice_sensor_ field on PROBE header
Referenced by init(), and packer_uwUFetch().
|
private |
number of bits used for t_bck_max_probe_ field on BEACON header
Referenced by init(), and packer_uwUFetch().
|
private |
number of bits used for t_bck_max_rts_ field on CBEACON header
Referenced by init(), and packer_uwUFetch().
|
private |
number of bits used for t_bck_min_probe_ field on BEACON header
Referenced by init(), and packer_uwUFetch().
|
private |
number of bits used for t_bck_min_rts_ field on CBEACON header
Referenced by init(), and packer_uwUFetch().