|
DESERT
3.0
|
#include <uwUFetch_NODE.h>
Classes | |
| class | uwUFetch_BackOffTimer |
| class | uwUFetch_BEACON_timer |
| class | uwUFetch_CBeacon_timer |
| class | uwUFetch_CTS_timer |
| class | uwUFetch_DATA_BEFORE_TX_timer |
| class | uwUFetch_DATA_timer |
| class | uwUFetch_NODE_timer |
| class | uwUFetch_POLL_timer |
| class | uwUFetch_PROBE_timer |
| class | uwUFetch_TRIGGER_timer |
Public Member Functions | |
| uwUFetch_NODE () | |
| virtual | ~uwUFetch_NODE () |
| virtual int | command (int argc, const char *const *argv) |
| virtual int | crLayCommand (ClMessage *m) |
Static Protected Attributes | |
| static bool | initialized = false |
| static std::map< UWUFETCH_NODE_STATUS, std::string > | statusInfo |
| static std::map< UWUFETCH_NODE_STATUS_CHANGE, std::string > | statusChange |
| static std::map< UWUFETCH_NODE_PACKET_TYPE, std::string > | packetType |
| static std::map< UWUFETCH_TIMER_STATUS, std::string > | statusTimer |
Definition at line 137 of file uwUFetch_NODE.h.
|
protected |
Definition at line 237 of file uwUFetch_NODE.h.
|
protected |
< States in which SN or HN may be during Its execution
Definition at line 173 of file uwUFetch_NODE.h.
|
protected |
Definition at line 195 of file uwUFetch_NODE.h.
|
protected |
| Enumerator | |
|---|---|
| UWUFETCH_TIMER_STATUS_IDLE | |
| UWUFETCH_TIMER_STATUS_RUNNING | |
| UWUFETCH_TIMER_STATUS_FROZEN | |
| UWUFETCH_TIMER_STATUS_EXPIRED |
Definition at line 248 of file uwUFetch_NODE.h.
| uwUFetch_NODE::uwUFetch_NODE | ( | ) |
Constructor of uwUFetch_NODE class.
Constructor of the class uwUFetch_NODE.
Definition at line 80 of file uwUFetch_NODE_SENSOR.cpp.
|
virtual |
Destructor of uwUFetch_NODE class.
Definition at line 271 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
Handle the.
Definition at line 1861 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
Backoff timeout is expired.
After the expiration HN can pass the successive DATA packet that will be transmitted to Its physical layer and then forwarded to the AUV. In this case the communication between HN and AUV take place with RTS and CTS packets
Definition at line 1609 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
Backoff timeout is expired.
After the expiration HN can pass the successive DATA packet that will be transmitted to Its physical layer and then forwarded to the AUV. In this case the communication between HN and AUV take place without RTS and CTS packets
Definition at line 539 of file uwUFetch_NODE_HEADNODE_mod_2.cpp.
|
protectedvirtual |
SN received a BEACON packet.
Extract all information contained into It.
Definition at line 1779 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
HN transmit the BEACON packet.
Definition at line 2331 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
BEACON timeout is expired.
In this case the HN has not received any TRIGGER packet, so start the communication with the SNs of the network.
Before to start the communication between AUV, HN move the data packets from the SN queue to the HN data queue. This operation is done only by the HN that function also as SN
Definition at line 1415 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
Indicate whether the transmission of DATA packets to the AUV take place with or without burst data.
Definition at line 3114 of file uwUFetch_NODE_HEADNODE_mod_1.cpp.
|
protectedvirtual |
SN has received a CBEACON packet from HN.
Extract all information contained into It.
Definition at line 2473 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
HN transmit the BEACON packet.
Definition at line 3382 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
CBEACON timeout is expired.
In this case SN return in Idle state and wait another BEACON packet from an another or the same HN packet
Definition at line 2440 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
Choose the backoff timeout used by SN before to transmit a PROBE packet.
Definition at line 2822 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
Choose the backoff timeout used by HN before to transmit a RTS packet.
Definition at line 3412 of file uwUFetch_NODE_HEADNODE.cpp.
|
virtual |
TCL command interpreter.
It implements the following OTcl methods:
| argc | Number of arguments in argv. |
| argv | Array of strings which are the command parameters (Note that argv[0] is the name of the object). |
Definition at line 277 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
Compute the transmission time for the packets transmitted by the SNs.
| tp | type of packet which should be transmitted |
Definition at line 2837 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
Compute the transmission time for the packets transmitted by the HNs.
| tp | type of packet which should be transmitted |
Definition at line 3511 of file uwUFetch_NODE_HEADNODE.cpp.
|
virtual |
Cross-Layer messages interpreter.
| ClMessage* | an instance of ClMessage that represent the message received |
Definition at line 263 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
HN has received a CTS packet from AUV.
Extract all information contained into It.
Definition at line 1896 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
CTS timeout is expired.
HN in this case return in idle state and interrupt the communication with AUV
Definition at line 1831 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
HN transmit a DATA packet to the AUV.
In this case the communication between HN and AUV take place with RTS and CTS packets
Definition at line 2059 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
HN transmit a DATA packet to the AUV.
In this case the communication between HN and AUV take place without RTS and CTS packets
Definition at line 660 of file uwUFetch_NODE_HEADNODE_mod_2.cpp.
|
protectedvirtual |
SN transmit a DATA packet to a specific HN.
Definition at line 2257 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
HN has received a BEACON packet from SN.
Extract all information contained into It.
Save the information of the NODE that has sent the DATA packet correctly to the HN
Definition at line 3052 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
Data timeout.
After this timeout is expired the SN pass the DATA packet to its phy level that will then transmit to a specific HN
Definition at line 2273 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
Backoff timeout is expired.
After the expiration HN can pass the successive DATA packet that will be transmitted to Its physical layer and then forwarded to the AUV. In this case the communication between HN and AUV take place without RTS and CTS packets
Definition at line 2081 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
DATA timeout is expired.
HN is not enabled to receive other DATA packets and return in IDLE state or start the initialization and start transmission of new POLL packet.
Definition at line 2912 of file uwUFetch_NODE_HEADNODE.cpp.
|
inlineprotected |
Number of BEACON packets received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1811 of file uwUFetch_NODE.h.
|
inlineprotected |
Number of BEACON packet transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1323 of file uwUFetch_NODE.h.
|
inlineprotected |
Number of CBEACON packets received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 2031 of file uwUFetch_NODE.h.
|
inlineprotected |
Number of CBEACON packets transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1543 of file uwUFetch_NODE.h.
|
inlineprotected |
Number of CTS packets received by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation.
Definition at line 1697 of file uwUFetch_NODE.h.
|
inlineprotected |
Number of DATA packets transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1477 of file uwUFetch_NODE.h.
|
inlineprotected |
Number of DATA packets transmitted by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation.
Definition at line 1763 of file uwUFetch_NODE.h.
|
inlineprotected |
Number of DATA packets transmitted by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1987 of file uwUFetch_NODE.h.
|
protectedvirtual |
Compute the interval time within HN want to receive all DATA packets from a specific SN.
Definition at line 3452 of file uwUFetch_NODE_HEADNODE.cpp.
|
inlineprotected |
Number of POLL packets received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1921 of file uwUFetch_NODE.h.
|
inlineprotected |
Number of POLL packet transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1433 of file uwUFetch_NODE.h.
|
inlineprotected |
Number of PROBE packets received by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1367 of file uwUFetch_NODE.h.
|
inlineprotected |
Number of PROBE packets transmitted by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1877 of file uwUFetch_NODE.h.
|
inlineprotected |
Number of RTS packets transmitted by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation.
Definition at line 1653 of file uwUFetch_NODE.h.
|
protectedvirtual |
Compute the round trip time.
Definition at line 3538 of file uwUFetch_NODE_HEADNODE.cpp.
|
inlineprotected |
Total number of BEACON packets received correctly or not by SN during an entire duration of simulation.
Definition at line 1833 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of corrupted BEACON packets received by SN during an entire duration of simulation.
Definition at line 1855 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of BEACON packets transmitted by the HN during an entire simulation.
Definition at line 1345 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of CBEACON packets received correctly or not by SN during an entire duration of simulation.
Definition at line 2053 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of corrupted CBEACON packets received by SN during an entire duration of simulation.
Definition at line 2075 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of CBEACON packets transmitted by the HN during an entire simulation.
Definition at line 1565 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of corrupted CTS packets received by the HN during an entire simulation.
Definition at line 1741 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of CTS packets correctly or not received by the HN during an entire simulation.
Definition at line 1719 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of DATA packets correctly or not received by the HN during an entire simulation.
Definition at line 1499 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of corrupted DATA packets received by the HN during an entire simulation.
Definition at line 1521 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of DATA packets transmitted by the HN during an entire simulation.
Definition at line 1785 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of DATA packets transmitted by SN during an entire duration of simulation.
Definition at line 2009 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of POLL packets received correctly or not by SN during an entire duration of simulation.
Definition at line 1943 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of corrupted POLL packets received by SN during an entire duration of simulation.
Definition at line 1965 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of POLL packets transmitted by the HN during an entire simulation.
Definition at line 1455 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of corrupted PROBE packets received by the HN during an entire simulation.
Definition at line 1411 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of PROBE packets correctly or not received by the HN during an entire simulation.
Definition at line 1389 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of PROBE packets transmitted by SN during an entire duration of simulation.
Definition at line 1899 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of RTS packets transmitted by the HN during an entire simulation.
Definition at line 1675 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of corrupted TRIGGER packets received by the HN during an entire simulation.
Definition at line 1631 of file uwUFetch_NODE.h.
|
inlineprotected |
Total number of TRIGGER packets correctly or not received by the HN during an entire simulation.
Definition at line 1609 of file uwUFetch_NODE.h.
|
inlineprotected |
Number of TRIGGER packets received by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation.
Definition at line 1587 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the number of BEACON packets received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1799 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the number of BEACON packet transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1311 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the number of CBEACON packets received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 2019 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the number of CBEACON packets transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1531 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the number of CTS packets received by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation.
Definition at line 1685 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the number of DATA packets transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1465 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the number of DATA packets transmitted by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation.
Definition at line 1751 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the number of DATA packets transmitted by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1975 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the number of POLL packets received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1909 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the number of POLL packets transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1421 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase number of PROBE packets received by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1355 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the number of PROBE packets transmitted by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 1865 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the number of RTS packets transmitted by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation.
Definition at line 1641 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of BEACON packets received correctly or not by SN during an entire duration of simulation.
Definition at line 1821 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of corrupted BEACON packets received by SN during an entire duration of simulation.
Definition at line 1843 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of BEACON packets transmitted by the HN during an entire simulation.
Definition at line 1333 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of CBEACON packets received correctly or not by SN during an entire duration of simulation.
Definition at line 2041 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of corrupted CBEACON packets received by SN during an entire duration of simulation.
Definition at line 2063 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of CBEACON packets transmitted by the HN during an entire simulation.
Definition at line 1553 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of corrupted CTS packets received by the HN during an entire simulation.
Definition at line 1729 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of CTS packets correctly or not received by the HN during an entire simulation.
Definition at line 1707 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase total number of DATA packets correctly or not received by the HN during an entire simulation.
Definition at line 1487 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase total number of corrupted DATA packets received by the HN during an entire simulation.
Definition at line 1509 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of DATA packets transmitted by the HN during an entire simulation.
Definition at line 1773 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of DATA packets transmitted by SN during an entire duration of simulation.
Definition at line 1997 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of POLL packets received correctly or not by SN during an entire duration of simulation.
Definition at line 1931 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of corrupted POLL packets received by SN during an entire duration of simulation.
Definition at line 1953 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of POLL packets transmitted by the HN during an entire simulation.
Definition at line 1443 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of corrupted PROBE packets received by the HN during an entire simulation.
Definition at line 1399 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase total number of PROBE packets correctly or not received by the HN during an entire simulation.
Definition at line 1377 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of PROBE packets transmitted by SN during an entire duration of simulation.
Definition at line 1887 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of RTS packets transmitted by the HN during an entire simulation.
Definition at line 1663 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of corrupted TRIGGER packets received by the HN during an entire simulation.
Definition at line 1619 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the total number of TRIGGER packets correctly or not received by the HN during an entire simulation.
Definition at line 1597 of file uwUFetch_NODE.h.
|
inlineprotected |
Increase the number of TRIGGER packets received by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation.
Definition at line 1575 of file uwUFetch_NODE.h.
|
protectedvirtual |
Initialize the protocol at the beginning of the simulation.
This method is called by a command in TCL.
Definition at line 414 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
Indicate if the node created work as head node or sensor node.
Definition at line 2812 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
This method must be called by the SN-MAC to instruct the PHY to start the transmission of a packet.
| p | pointer to the packet to be transmitted |
Definition at line 1602 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
This method must be called by the HN-MAC to instruct the PHY to start the transmission of a packet.
| p | pointer to the packet to be transmitted |
Definition at line 983 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
Handle the end-of-PHY-reception event.
| p | pointer to the packet whose reception has ended. |
Se il beacon è ricevuto dal nodo da cui sto aspettando il POLL, allora considera il BEACON anche se é in errore e ritorna nello stato di IDLE resettando il POLL timeout, altrimenti droppa semplicemente il pacchetto
Save the information of POLL HEADER
Definition at line 695 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
Handle the end-of-PHY-reception event for HEAD NODE.
Handle the end-of-PHY-reception event.
| p | pointer to the packet whose reception has ended. |
remove the DATA packet into the queue of the SENSOR NODE and put It into the queue of HN
| p |
Definition at line 197 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
Handle the end-of-PHY-reception event for HEAD NODE in the case that the communication don't use RTS-CTS packets.
| p | pointer to the packet whose reception has ended. |
Before to start the communication between AUV, HN move the data packets from the SN queue to the HN data queue. This operation is done only by the HN that function also as SN
Definition at line 48 of file uwUFetch_NODE_HEADNODE_mod_2.cpp.
|
protectedvirtual |
Handle the end-of-PHY-transmission event.
| p | pointer to the packet whose transmission has ended. Note that the Packet is not any more under control of the SN-MAC at the time this event occurs, hence the 'const' declaration. |
Definition at line 1661 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
Handle the end-of-PHY-transmission event for HEAD NODE.
Handle the end-of-PHY-transmission event.
| p | pointer to the packet whose transmission has ended. Note that the Packet is not any more under control of the HN-MAC at the time this event occurs, hence the 'const' declaration. |
| p | pointer to the packet whose transmission has ended. Note that the Packet is not any more under control of the MAC at the time this event occurs, hence the 'const' declaration. |
Definition at line 1106 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
Handle the detected-start-of-PHY-reception event for SENSOR NODE.
| p | pointer to the packet whose reception has begun. |
Definition at line 579 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
Handle the detected-start-of-PHY-reception event for HEAD NODE.
| p | pointer to the packet whose reception has begun. |
Definition at line 55 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
SN has received a POLL packet from a specific HN.
Extract all information contained into It.
Save the information of POLL HEADER
Definition at line 2146 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
HN transmit POLL packet to a specific SN of th network.
Definition at line 2793 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
POLL timeout is expired.
SN return in Idle state and wait a BEACON packet, or start to wait a CBEACON packet from HN.
Definition at line 2089 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
Prints a file with every state change for debug purposes.
| double | delay |
Definition at line 2971 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
HN has received a PROBE packet from SN.
Extract all information contained into It.
Save the information of the NODE that has sent the PROBE packet correctly to the HN
Definition at line 2516 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
Transmission of PROBE packet by SN to the specific HN.
Definition at line 2021 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
Probe timeout is expired.
The HN start to transmit a POLL packet in unicast to a specific SN from which It has received a POLL packet. The order of the transmission of POLL packet is FIFO type.
Definition at line 2403 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
Handle a packet coming from upper layers of SN.
| p | packet that node receiving from upper layer. DATA packet created by application layer |
Definition at line 2861 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
Handle a packet coming from upper layers of HN.
| p | packet that node receiving from upper layer. DATA packet created by application layer |
Definition at line 3480 of file uwUFetch_NODE_HEADNODE.cpp.
|
inlineprotectedvirtual |
Refresh the reason for the changing of the state.
| UWPOLLING_AUV_REASON | The reason of the change of the state of the protocol |
Definition at line 874 of file uwUFetch_NODE.h.
|
inlineprotectedvirtual |
Definition at line 885 of file uwUFetch_NODE.h.
|
protectedvirtual |
HN transmit a RTS packet to the AUV.
Definition at line 1762 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
HN initialize the BEACON packet that will be forwarded in broadcast at all SNs of the network.
Definition at line 2209 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
HN initialize the CBEACON packet that will be forwarded in broadcast at all SNs of the network.
Definition at line 3262 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
HN has finished to transmit the sequence of DATA packets promises to the AUV with the exchange of previous RTS and CTS packets.
Definition at line 2148 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
HN has finished to transmit the sequence of DATA packets to the AUV.
In this case the communication between HN and AUV take place without RTS and CTS packets
Definition at line 759 of file uwUFetch_NODE_HEADNODE_mod_2.cpp.
|
protectedvirtual |
HN initialize the FIRST DATA packet that will be forwarded to the AUV node.
In this case the communication between HN and AUV take place with RTS and CTS packets
hdr_uwmphy_modem* modemh = HDR_UWMPHY_MODEM(curr_DATA_HN_pck_tx); modemh->use_burst_data() = 1; if ( getDataPckTx_by_HN() == (max_data_HN_can_tx) ) { modemh->last_packet() = 1; modemh->use_burst_data() = 1; } else { modemh->last_packet() = 0; modemh->use_burst_data() = 1; }
Definition at line 1988 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
HN initialize the FIRST DATA packet that will be forwarded to the AUV node.
In this case the communication between HN and AUV take place without RTS and CTS packets
Definition at line 558 of file uwUFetch_NODE_HEADNODE_mod_2.cpp.
|
protectedvirtual |
HN initialize the second and successive DATA packets that will be forwarded to the AUV node.
In this case the communication between HN and AUV take place with RTS and CTS packets
Definition at line 2094 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
HN initialize the second and successive DATA packets that will be forwarded to the AUV node.
In this case the communication between HN and AUV take place without RTS and CTS packets
Definition at line 677 of file uwUFetch_NODE_HEADNODE_mod_2.cpp.
|
protectedvirtual |
SN has finished to transmit the last DATA packet promises with a PROBE packet to a specif HN.
Definition at line 2333 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
SN initialize the FIRST DATA packet that will be forwarded to a specific HN.
Definition at line 2218 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
SN initialize the second or successive DATA packet that will be forwarded to a specific HN.
Definition at line 2293 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
HN initialize the POLL packet that will be forwarded to a specific SN of the network.
Definition at line 2685 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
SN initialize the PROBE packet that will be forwarded to a specific HN.
Definition at line 1887 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
HN initialize the RTS packet that will be forwarded to the AUV.
Definition at line 1634 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
SN wait a CBEACON packet for a pre-established interval time.
During this interval time SN is enabled to received a CBEACON packet from HN
Definition at line 2398 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
HN start to wait a CTS packet for a pre-established time interval.
During this interval time Hn is enabled to receive a CTS packet from AUV
Definition at line 1778 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
HN start to wait the FIRST DATA packet from SN.
During this interval time the HN is enabled to received DATA packets from a specifical SN.
Definition at line 2813 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
HN start to wait the second or successive DATA packet from SN.
During this interval time the HN is enabled to received DATA packets from a specifical SN.
Definition at line 2876 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
HN start to wait the second or successive PROBE packet from some SNs.
During this interval time the HN is enabled to received more than one PROBE packets.
Definition at line 2640 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
SN wait a POLL packet from a specific HN.
For an interval time Sn is enabled to receive POLL packets.
Definition at line 2040 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
HN start to wait the FIRST PROBE packet from some SNs.
During this interval time the HN is enabled to received more than one PROBE packets.
Definition at line 2348 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
Idle state for HN.
Each variables are resetted
Before to enter in idle state and wait a trigger packet from the HN, or before to start the communication with sensor nodes, HN empty his data queue
Time interval that will expire before that the HN start the initialization of the BEACON packet and its transmission
Time interval that will expire before that the HN start the initialization of the BEACON packet and its transmission
Definition at line 1282 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
Idle state for SN.
Each variables are resetted
Definition at line 1737 of file uwUFetch_NODE_SENSOR.cpp.
|
protectedvirtual |
HN has received a TRIGGER packet from AUV.
Extract all information contained into It. In this case the communication with take place with RTS and CTS packets
Definition at line 1459 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
HN has received a TRIGGER packet from AUV.
Extract all information contained into It. In this case the communication with AUV take place without RTS and CTS packets
Definition at line 409 of file uwUFetch_NODE_HEADNODE_mod_2.cpp.
|
protectedvirtual |
Indicate if the communiation between HN and AUV take place with or without RTS and CTS packets.
Definition at line 3402 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
Update the list of the SN from which HN has received the PROBE packets.
This update is executed after the transmission of POLL packet to the SN
Definition at line 3553 of file uwUFetch_NODE_HEADNODE.cpp.
|
protectedvirtual |
Method used for debug.
Definition at line 2963 of file uwUFetch_NODE_SENSOR.cpp.
|
protected |
Time value chosen by the HN and used by It for transmit a DATA packet to the AUV.
Definition at line 2212 of file uwUFetch_NODE.h.
|
protected |
Backoff time choiced by SN before to transmit a PROBE packet to the HN.
Definition at line 2182 of file uwUFetch_NODE.h.
|
protected |
Time value choice by the HN and used for transmit a RTS packet to the AUV.
Definition at line 2433 of file uwUFetch_NODE.h.
|
protected |
Interval time before that the HN transmit his DATA packet to the AUV.
Definition at line 2320 of file uwUFetch_NODE.h.
|
protected |
Interval time in which HN is enabled to receive PROBE packets from SNs.
Definition at line 2105 of file uwUFetch_NODE.h.
|
protected |
Schedule the backoff timeout timer.
Definition at line 2317 of file uwUFetch_NODE.h.
|
protected |
Schedule the BEACON timeout timer.
Definition at line 2313 of file uwUFetch_NODE.h.
|
protected |
Definition at line 2115 of file uwUFetch_NODE.h.
|
protected |
Schedule the CTS timeout timer.
Definition at line 2318 of file uwUFetch_NODE.h.
|
protected |
true HN has received a CTS packet after the transmission of RTS
Definition at line 2451 of file uwUFetch_NODE.h.
|
protected |
Pointer to the BEACON packet that is being transmitted by HN.
Definition at line 2519 of file uwUFetch_NODE.h.
|
protected |
Pointer to the BEACON packet that is being received by SN.
Definition at line 2254 of file uwUFetch_NODE.h.
|
protected |
Pointer to the CBEACON packet that is being transmitted by HN.
Definition at line 2528 of file uwUFetch_NODE.h.
|
protected |
Pointer to the CBEACON packet that is being received by SN.
Definition at line 2265 of file uwUFetch_NODE.h.
|
protected |
Pointer to the CTS packet that is being received by HN.
Definition at line 2534 of file uwUFetch_NODE.h.
|
protected |
Pointer to the DATA packet that is being received by HN from SN.
Definition at line 2526 of file uwUFetch_NODE.h.
|
protected |
Pointer to the DATA packet that is being transmitted by HN to the AUV.
Definition at line 2536 of file uwUFetch_NODE.h.
|
protected |
Pointer to the DATA packet that is being transmitted by SN.
Definition at line 2262 of file uwUFetch_NODE.h.
|
protected |
Pointer to the DATA packet that is being transmitted by HN.
Definition at line 2538 of file uwUFetch_NODE.h.
|
protected |
Pointer to the POLL packet that is being transmitted by HN.
Definition at line 2524 of file uwUFetch_NODE.h.
|
protected |
Pointer to the POLL packet that is being received by SN.
Definition at line 2259 of file uwUFetch_NODE.h.
|
protected |
Pointer to the PROBE packet that is being received by HN.
Definition at line 2522 of file uwUFetch_NODE.h.
|
protected |
Pointer to the PROBE packet that is being transmitted by SN.
Definition at line 2256 of file uwUFetch_NODE.h.
|
protected |
Pointer to the RTS packet that is being transmitted by HN.
Definition at line 2532 of file uwUFetch_NODE.h.
|
protected |
Current state in which the SN or HN is located.
Definition at line 2566 of file uwUFetch_NODE.h.
|
protected |
Pointer to the TRIGGER packet that is being received by HN.
Definition at line 2530 of file uwUFetch_NODE.h.
|
protected |
Definition at line 2111 of file uwUFetch_NODE.h.
|
protected |
Interval time in which the HN want to receive all DATA packets from the node that have polled.
Definition at line 2420 of file uwUFetch_NODE.h.
|
protected |
Schedule the DATA timeout timer.
Definition at line 2315 of file uwUFetch_NODE.h.
|
protected |
Indicate whether the SN has transmit at least one DATA packets during the cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 2236 of file uwUFetch_NODE.h.
|
protected |
Used if we want to create the logging file.
Definition at line 2092 of file uwUFetch_NODE.h.
|
protected |
Variable that handle the file in which the protocol write the state transition for debug purposes.
Definition at line 2594 of file uwUFetch_NODE.h.
|
protected |
Indicate if the node work as HEAD NODE or SENSOR NODE.
Definition at line 2576 of file uwUFetch_NODE.h.
|
staticprotected |
Indicate if the protocol has been initialized or not.
Definition at line 2571 of file uwUFetch_NODE.h.
|
protected |
Last reason because the SN or HN change its state.
Definition at line 2563 of file uwUFetch_NODE.h.
|
protected |
AUV-MAC address contained int the CTS packet received by HN.
Definition at line 2443 of file uwUFetch_NODE.h.
|
protected |
AUV-MAC address contained in the TRIGGER packet received by the HN.
Definition at line 2441 of file uwUFetch_NODE.h.
|
protected |
HN MAC address from which the SN has received PROBE packet.
Definition at line 2180 of file uwUFetch_NODE.h.
|
protected |
HN MAC address from which the SN has received the CBEACON packet.
Definition at line 2202 of file uwUFetch_NODE.h.
|
protected |
HN MAC address from which the SN has received the POLL packet.
Definition at line 2191 of file uwUFetch_NODE.h.
|
protected |
Mac address of the node from which the HN has received a DATA packet.
Definition at line 2431 of file uwUFetch_NODE.h.
|
protected |
SN-MAC address of the node that the HN is going to be poll and from which It want to receive DATA packets.
Definition at line 2412 of file uwUFetch_NODE.h.
|
protected |
Definition at line 2294 of file uwUFetch_NODE.h.
|
protected |
Maximum number of DATA packets that the HN must transmit to the AUV.
Definition at line 2446 of file uwUFetch_NODE.h.
|
protected |
Maximum size of payload DATA packet.
Definition at line 2078 of file uwUFetch_NODE.h.
|
protected |
Maximum number of DATA packets that AUV want to receive from HN.
Definition at line 2448 of file uwUFetch_NODE.h.
|
protected |
Definition at line 2297 of file uwUFetch_NODE.h.
|
protected |
Maximum number of PROBE packets that the HN can receive from the SN after the transmission of a BEACON or CBEACON.
Definition at line 2303 of file uwUFetch_NODE.h.
|
protected |
Maximum number of DATA packets that the SN can store in Its queue.
Definition at line 2088 of file uwUFetch_NODE.h.
|
protected |
Indicate if it's used or not the burst data.
0=not use burst date, 1=use burst data.
Definition at line 2101 of file uwUFetch_NODE.h.
|
protected |
Indicate the type of communication between HN and AUV, 0 = communication with RTS-CTS, 1 = communication without RTS-CTS.
Definition at line 2097 of file uwUFetch_NODE.h.
|
protected |
Number of BEACON receive by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 2216 of file uwUFetch_NODE.h.
|
protected |
Number of BEACON packet transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 2460 of file uwUFetch_NODE.h.
|
protected |
Number of CBEACON received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 2232 of file uwUFetch_NODE.h.
|
protected |
Number of CBEACON packet transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 2478 of file uwUFetch_NODE.h.
|
protected |
Number of CTS packet received by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation.
Definition at line 2489 of file uwUFetch_NODE.h.
|
protected |
Number of DATA packet received by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 2474 of file uwUFetch_NODE.h.
|
protected |
Number of DATA packet transmitted by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation.
Definition at line 2492 of file uwUFetch_NODE.h.
|
protected |
Number of DATA transmitted by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 2228 of file uwUFetch_NODE.h.
|
protected |
Number of POLL received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 2224 of file uwUFetch_NODE.h.
|
protected |
Number of POLL packet transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 2469 of file uwUFetch_NODE.h.
|
protected |
Number of PROBE packet received by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 2464 of file uwUFetch_NODE.h.
|
protected |
Number of PROBE transmitted by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation.
Definition at line 2220 of file uwUFetch_NODE.h.
|
protected |
Number of RTS packet transmitted by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation.
Definition at line 2486 of file uwUFetch_NODE.h.
|
protected |
Indicate the number of the run in execution.
Definition at line 2093 of file uwUFetch_NODE.h.
|
protected |
Total number of BEACON packets received correctly or not by SN during an entire duration of simulation.
Definition at line 2143 of file uwUFetch_NODE.h.
|
protected |
Total number of BEACON packets received corrupted by SN during an entire duration of simulation.
Definition at line 2146 of file uwUFetch_NODE.h.
|
protected |
Total number of BEACON packets transmitted by the HN during an entire simulation.
Definition at line 2373 of file uwUFetch_NODE.h.
|
protected |
Total number of CBEACON packets received correctly or not by SN during an entire duration of simulation.
Definition at line 2162 of file uwUFetch_NODE.h.
|
protected |
Total number of CBEACON packets received corrupted by the SN during an entire duration of simulation.
Definition at line 2166 of file uwUFetch_NODE.h.
|
protected |
Total number of CBEACON packets transmitted by the HN during an entire simulation.
Definition at line 2391 of file uwUFetch_NODE.h.
|
protected |
Total number of CTS packets correctly or not received by the HN during an entire simulation.
Definition at line 2404 of file uwUFetch_NODE.h.
|
protected |
Total number of corrupted CTS packets received by the HN during an entire simulation.
Definition at line 2407 of file uwUFetch_NODE.h.
|
protected |
Total number of DATA packets correctly or not received by the HN during an entire simulation.
Definition at line 2385 of file uwUFetch_NODE.h.
|
protected |
Total number of corrupted DATA packets received by the HN during an entire simulation.
Definition at line 2388 of file uwUFetch_NODE.h.
|
protected |
Total number of DATA packets transmitted by the HN during an entire simulation.
Definition at line 2410 of file uwUFetch_NODE.h.
|
protected |
Total number of DATA packets transmitted by the SN during an entire duration of simulation.
Definition at line 2158 of file uwUFetch_NODE.h.
|
protected |
Total number of POLL packets received correctly or not by SN during an entire duration of simulation.
Definition at line 2152 of file uwUFetch_NODE.h.
|
protected |
Total number of POLL packets received corrupted by SN during an entire duration of simulation.
Definition at line 2155 of file uwUFetch_NODE.h.
|
protected |
Total number of POLL packets transmitted by the HN during an entire simulation.
Definition at line 2383 of file uwUFetch_NODE.h.
|
protected |
Total number of corrupted PROBE packets received by the HN during an entire simulation.
Definition at line 2380 of file uwUFetch_NODE.h.
|
protected |
Total number of PROBE packets correctly or not received by the HN during an entire simulation.
Definition at line 2377 of file uwUFetch_NODE.h.
|
protected |
Total number of PROBE packets transmitted by SN during an entire duration of simulation.
Definition at line 2149 of file uwUFetch_NODE.h.
|
protected |
Total number of RTS packets transmitted by the HN during an entire simulation.
Definition at line 2402 of file uwUFetch_NODE.h.
|
protected |
Total number of TRIGGER packets correctly or not received by the HN during an entire simulation.
Definition at line 2394 of file uwUFetch_NODE.h.
|
protected |
Total number of corrupted TRIGGER packets received by the HN during an entire simulation.
Definition at line 2398 of file uwUFetch_NODE.h.
|
protected |
Number of TRIGGER packet received by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation.
Definition at line 2483 of file uwUFetch_NODE.h.
|
protected |
NUmber of CBEACON packets transmitted by the HN during the single cycle BEACON-PROBE-POLL-DATA-CBEACON.
Definition at line 2199 of file uwUFetch_NODE.h.
|
protected |
Number of CBEACON that the node have received from the specific HN before to receive an another BEACON packet.
Definition at line 2177 of file uwUFetch_NODE.h.
|
protected |
Number of DATA packets that the SN at the instant time of BEACON reception has available to transmit to the HN.
Definition at line 2194 of file uwUFetch_NODE.h.
|
protected |
Exact number of DATA packets that the HN want to receive from the SN that have polled.
Definition at line 2416 of file uwUFetch_NODE.h.
|
protected |
Variable that handle the file in which the protocol write the statistics.
Definition at line 2598 of file uwUFetch_NODE.h.
|
staticprotected |
Map the UWUFETCH_NODE_PACKET_TYPE to the description of packet type.
Definition at line 2587 of file uwUFetch_NODE.h.
|
protected |
Unique identifier of the DATA packet received.
Definition at line 2419 of file uwUFetch_NODE.h.
|
protected |
Interval time in which SN is enabled to receive POLL packet from the specific HN.
Definition at line 2109 of file uwUFetch_NODE.h.
|
protected |
Previous state in which the SN or HN it was located.
Definition at line 2567 of file uwUFetch_NODE.h.
|
protected |
true if the writing of state transitions in the file is enabled.
Definition at line 2574 of file uwUFetch_NODE.h.
|
protected |
0 reason because the SN or HN is passed from a state to another state is not logged in a file
Definition at line 2287 of file uwUFetch_NODE.h.
|
protected |
Schedule the PROBE timeout timer.
Definition at line 2314 of file uwUFetch_NODE.h.
|
protected |
Queue of DATA packets stored by the SN.
Definition at line 2269 of file uwUFetch_NODE.h.
|
protected |
Queue of DATA packets stored by the HNs and received from SN.
Definition at line 2544 of file uwUFetch_NODE.h.
|
protected |
Queue that contain the MAC address from which the HN has received the DATA packet.
Definition at line 2546 of file uwUFetch_NODE.h.
|
protected |
Queue that stored the backoff time choice by the single nodes before to transmit the PROBE packet to the HN.
Definition at line 2556 of file uwUFetch_NODE.h.
|
protected |
Queue that store the MAC address of the SN from which the HN has received correctly the PROBE packets.
Definition at line 2549 of file uwUFetch_NODE.h.
|
protected |
Queue that store the number of DATA packets that the single SN want to tx to the HN.
Definition at line 2553 of file uwUFetch_NODE.h.
|
protected |
Round trip time value.
Definition at line 2189 of file uwUFetch_NODE.h.
|
protected |
Indicates when SN finished the reception of BEACON packet from HN.
Definition at line 2123 of file uwUFetch_NODE.h.
|
protected |
Indicates when SN started the reception of BEACON packet from HN.
Definition at line 2121 of file uwUFetch_NODE.h.
|
protected |
Indicates when SN finished the reception of BEACON packet from HN.
Definition at line 2141 of file uwUFetch_NODE.h.
|
protected |
Indicates when SN started the reception of CBEACON packet from HN.
Definition at line 2138 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN finished the reception of CTS packet from the SNs.
Definition at line 2367 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN started the reception of CTS packet from the AUV.
Definition at line 2365 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN finished the reception of DATA packet from the SNs.
Definition at line 2344 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN started the reception of DATA packet from the SNs.
Definition at line 2341 of file uwUFetch_NODE.h.
|
protected |
Indicates when SN finished the reception of POLL packet from HN.
Definition at line 2132 of file uwUFetch_NODE.h.
|
protected |
Indicates when SN started the reception of POLL packet from HN.
Definition at line 2129 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN finished the reception of PROBE packet from the SNs.
Definition at line 2333 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN started the reception of PROBE packet from the SNs.
Definition at line 2331 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN finished the reception of TRIGGER packet from the AUV.
Definition at line 2356 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN started the reception of TRIGGER packet from the AUV.
Definition at line 2353 of file uwUFetch_NODE.h.
|
protected |
true if SN is enabled to receive a BEACON packet from the HN
Definition at line 2241 of file uwUFetch_NODE.h.
|
protected |
true if SN is enabled to receive a CBEACON packet from the HN
Definition at line 2250 of file uwUFetch_NODE.h.
|
protected |
true if HN is enabled to receive a CTS packet from the AUV
Definition at line 2512 of file uwUFetch_NODE.h.
|
protected |
true if HN is enabled to receive a DATA packet from teh SN
Definition at line 2504 of file uwUFetch_NODE.h.
|
protected |
true if SN is enabled to receive a POLL packet from the HN
Definition at line 2246 of file uwUFetch_NODE.h.
|
protected |
true if HN is enabled to receive a PROBE packet from the SN
Definition at line 2500 of file uwUFetch_NODE.h.
|
protected |
true if HN is enabled to receive a TRIGGER packet from the AUV
Definition at line 2508 of file uwUFetch_NODE.h.
|
protected |
true HN has started the transmission of RTS packet when It was in the CBEACON section.
Definition at line 2456 of file uwUFetch_NODE.h.
|
staticprotected |
Map the UWUFETCH_NODE_STATUS_CHANGE to the description the reason of changing state.
Definition at line 2584 of file uwUFetch_NODE.h.
|
staticprotected |
Map the UWUFETCH_NODE_STATUS to the description of each state.
Definition at line 2581 of file uwUFetch_NODE.h.
|
staticprotected |
Map the UWUFETCH_TIMER_STATUS to the description of the timers.
Definition at line 2590 of file uwUFetch_NODE.h.
|
protected |
Definition at line 2301 of file uwUFetch_NODE.h.
|
protected |
Guard interval used for successive transmission of DATA packets.
Definition at line 2086 of file uwUFetch_NODE.h.
|
protected |
Upper bound timer interval of back-off value used by the SN to choice its back-off time before to transmit a PROBE packet.
Definition at line 2281 of file uwUFetch_NODE.h.
|
protected |
Upper bound time interval from which the HN choice its backoff timer before to transmit a DATA packet to the AUV.
Definition at line 2209 of file uwUFetch_NODE.h.
|
protected |
Upper bound timer interval used by the SN to choice the interval time before to transmit a PROBE packet to the HN.
Definition at line 2173 of file uwUFetch_NODE.h.
|
protected |
Upper bound interval time from which the HN choice his backoff timer before to transmit a RTS packet to the AUV.
Definition at line 2438 of file uwUFetch_NODE.h.
|
protected |
Lower bound timer interval of back-off value used by the SN to choice its back-off time before to transmit a PROBE packet.
Definition at line 2284 of file uwUFetch_NODE.h.
|
protected |
Lower bound time interval from which the HN choice its backoff timer before to transmit a DATA packet to the AUV.
Definition at line 2205 of file uwUFetch_NODE.h.
|
protected |
Lower bound timer interval used by the SN to choice the interval time before to transmit a PROBE packet to the HN.
Definition at line 2170 of file uwUFetch_NODE.h.
|
protected |
Lower bound interval time from which the HN choice its backoff timer before to transmit a RTS packet to the AUV.
Definition at line 2435 of file uwUFetch_NODE.h.
|
protected |
Interval time in which the SN wait a POLL packet from the HN.
Definition at line 2090 of file uwUFetch_NODE.h.
|
protected |
Interval time in which HN is enabled to received PROBE packets from SNs after the transmission of TRIGGER packet.
Definition at line 2291 of file uwUFetch_NODE.h.
|
protected |
Time within HN is enabled to received a TRIGGER packet from AUV.
If in this time the AUV never receive a TRIGGER packet start the communication with the SN
Definition at line 2276 of file uwUFetch_NODE.h.
|
protected |
Time needed to transmit a BEACON packet.
It consider also a propagation delay.
Definition at line 2422 of file uwUFetch_NODE.h.
|
protected |
Time needed to transmit a DATA packet.
It consider also a propagation delay.
Definition at line 2429 of file uwUFetch_NODE.h.
|
protected |
Time to transmit a DATA packet by the HN.
Definition at line 2450 of file uwUFetch_NODE.h.
|
protected |
Time duration needed for SN to transmit a DATA packet to the HN.
It include the time delay propagation.
Definition at line 2186 of file uwUFetch_NODE.h.
|
protected |
Time duration need for SN for transmit a DATA packet to the HN.
Definition at line 2197 of file uwUFetch_NODE.h.
|
protected |
Interval time used by HN before to transmit the next DATA packet to the AUV.
Definition at line 2307 of file uwUFetch_NODE.h.
|
protected |
Interval time used by the SN before to transmit the next DATA packet to the HN.
Definition at line 2094 of file uwUFetch_NODE.h.
|
protected |
Time needed to transmit a POLL packet.
It consider also a propagation delay.
Definition at line 2425 of file uwUFetch_NODE.h.
|
protected |
Time duration needed for SN to transmit a PROBE packet to the HN.
It include the time delay propagation.
Definition at line 2184 of file uwUFetch_NODE.h.
|
protected |
Time needed to transmit a RTS packet.
It consider also a propagation delay.
Definition at line 2427 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN finished the transmission of BEACON packet to the SNs.
Definition at line 2328 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN started the transmission of BEACON packet to the SNs.
Definition at line 2324 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN finished the transmission of CBEACON packet to the SNs.
Definition at line 2349 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN started the transmission of CBEACON packet to the SNs.
Definition at line 2346 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN finished the transmission of DATA packet to the AUV.
Definition at line 2371 of file uwUFetch_NODE.h.
|
protected |
Indicates when SN finished a transmission of DATA packet to the HN.
Definition at line 2136 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN started the transmission of DATA packet to the AUV.
Definition at line 2369 of file uwUFetch_NODE.h.
|
protected |
Indicates when SN start a transmission of DATA packet to the HN.
Definition at line 2134 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN finished the transmission of POLL packet to a specific SN.
Definition at line 2338 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN started the transmission of POLL packet to a specific SN.
Definition at line 2335 of file uwUFetch_NODE.h.
|
protected |
Indicates when SN finished a transmission of PROBE packet.
Definition at line 2127 of file uwUFetch_NODE.h.
|
protected |
Indicates when SN start a transmission of PROBE packet.
Definition at line 2125 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN finished the transmission of RTS packet to the AUV.
Definition at line 2362 of file uwUFetch_NODE.h.
|
protected |
Indicates when HN started the transmission of RTS packet to the AUV.
Definition at line 2360 of file uwUFetch_NODE.h.
|
protected |
true if HN is enabled to transmit a BEACON packet to the SN
Definition at line 2497 of file uwUFetch_NODE.h.
|
protected |
true if HN is enabled to transmit a CBEACON packet to the SN
Definition at line 2506 of file uwUFetch_NODE.h.
|
protected |
true if SN is enabled to transmit a DATA packet to the HN
Definition at line 2248 of file uwUFetch_NODE.h.
|
protected |
true if HN is enabled to transmit a DATA packet to the AUV
Definition at line 2515 of file uwUFetch_NODE.h.
|
protected |
true if HN is enabled to transmit a POLL packet to the SN
Definition at line 2502 of file uwUFetch_NODE.h.
|
protected |
true if SN is enabled to transmit a PROBE packet to the HN
Definition at line 2244 of file uwUFetch_NODE.h.
|
protected |
true HN block the transmission of CBEACON because It try to communicate with the AUV.
Definition at line 2453 of file uwUFetch_NODE.h.
|
protected |
true if HN is enabled to transmit a RTS packet to the AUV
Definition at line 2510 of file uwUFetch_NODE.h.


{% include "head.html" %}
Explaining Algorithms
Explaining Algorithms
{% block body %}{% endblock %}


Supporting Multi-Objective Decision Making.
Thanks for taking the time to participate in this study,
in which we explore ways of supporting humans in complex decision problems.
In such a scenario, there are many options with multiple attributes to choose from,
but not enough time (or patience) to evaluate them all.
The goal is to find the best option as quickly as possible.
You'll be asked to answer different types of questions, from which
the algorithm infers your preferences and starts making better suggestions.
Note: Javascript has to be enabled, and the experiments do not work on mobile.
Enter your MTurk Workder ID:
{% if username == 'invalid' %}Sorry, that WorkerID is invalid. Use only alphanumeric characters.
{% elif username == 'existing' %}This WorkderID is already registered. You can only complete the experiment once.
{% else %} {% endif %}(Note: We will use your worker ID to validate you completed the survey at the end of the experiments. Each worker ID only works once, so make sure you complete the experiment in one go and don't refresh the page.)
{% endif %}


This article describes what happens when a zone is signed with DNSSEC. This document helps to understand the concept of zone signing and does not detail the actual steps for signing a zone.
Note: I have taken some liberties with this article in the interest of simplicity. For full and accurate information, refer DNSSEC RFCs. NXDOMAIN validation is not included in this article.
Let’s consider an unsigned zone test.com. Below is a representation of the zone file with sample records with only the relevant fields.
| Records |
|---|
| test.com IN SOA ns1.test.com. hostmaster.test.com.<PHONE_NUMBER> 1800 1800 1814400 3600) |
| test.com IN NS ns1.test.com. |
| ns1.test.com IN A <IP_ADDRESS> |
Now, when we sign the zone, two key pairs are generated. A key pair consists of a private key and a public key. Such key pairs usually used in encryption or signing.
Encryption is used to protect data. When some data is encrypted with the public key, only the private key (which is to be kept secret) can decrypt the data.
Signing is used to verify the authenticity of data. Here the data is signed with the private key. This just means that the data to be signed and the private key go through a signing algorithm and form some new data. If the new data and the public key go through the signing algorithm the old data is formed. The new data formed is called a hash of the old data. The signing algorithm is just a set of instructions, like a mathematical formula.
Here is an example.
| Data (a) | Private Key (b) | Signing Algorithm | Hash |
|---|---|---|---|
| abcd | 3 | add ‘b’ number or characters to each character in ‘a’ | efgh |
| Hash (a) | Public Key (b) | Signing Algorithm | Data |
|---|---|---|---|
| efgh | -3 | add ‘b’ number or characters to each character in ‘a’ | abcd |
If you want to go deeper, here is a practical example. (*on a linux box**)
Generating a private key.
$ openssl genrsa -out privkey.pem 2048
Generating RSA private key, 2048 bit long modulus
..........................................+++
..............................................................................................................+++
e is 65537 (0x10001)
Generating the public key from the private key
$ openssl rsa -in privkey.pem -pubout -out pubkey.pem
writing RSA key
These two files are created .
$ ls
privkey.pem pubkey.pem
Private key
$ cat privkey.pem
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA4Kqfn3osK33k/M8lPciHdlSmGN/lmhksds0/ebiF6IAJRXsx
sQZuFPwHlunnC7ihcIiLE0ySOjpUgLuoLuFWJ5+qwgEyYLwTN3ea1vxKR/2jsxun
mu4dRH/SpGWhji9H5hDJ+TsAIGnB7FL+9nceFjna+m3GaTVw9Pi3xbMUyLGsIHMH
4CfngtthT0Nq2Sti2gFF9kCusDuzTfVAOFRNfm1J5J2TgQlmA6XHNpQe+TyNFr5v
E/dMLHTeMegvEAZQ+mRqCKtBOGrPFoyJdZjyWLCiH3tNFpt+4KxHXFvOqbqPQjqy
lUyWHE3K89pV7+L3K6RDMmS6EMySFweWjRY3TwIDAQABAoIBAHQN75L0C2kUCXvG
jZhSxBcONxbWYcauhleAQu/fr9ygdymbL9ogVjEk187PWPinEU4OWrlHbqoBg7FU
PtaotFaXlh/NenaZ8NtQP34aqUxy62MUQAo6Qogl92vQzBmktuFTfuHt5mzX9MLd
RLOQaMxWapW+qyWh443IBTZtAamBloGRUVkHARDjXtbq10Y8KPBVFHlMQigC3hVs
nE3EEMJxUPmPF77V59qWzQNH5/W1jfGQhgavvmE+Bqo8dwFMh4rhVn2x+Yz2JgB6
JZ1njRkM8k/W5dTfUodzLFpdUaK0oq2LjEPgqtwNqeESneKouqAguReXqEB9pqkw
q1B6FOECgYEA8DAib5uayJHZzFtDzbYTqk9SIwTQZec5aJF55P126n9rfr2ff8S9
OGPk5x3tfx/E1FN8cxB1RkRyFzge7Beh4TmkknuyI7vNMk6sXboPbMRLOXp6XTh4
pwl5q7UgM+/XAY40H+1y0eDKXUv7QkrzkVEatWevUANN/JRm6clW96cCgYEA73Tn
/e1YTtbWuSCCmWxyfB5aOb81ANbihCTUok8NXtVPacOF4O9y480ayge0jyQAUnzD
KNyUwNvdB25lochwOgmrZkAvrByoW67vebLwJdtXZNPRVHFIGPUs3Mt4y4+CkckH
57sv2G6wMfjHoK3LA/dWgH7jNdBpCgCVW8SouBkCgYEArSzHZ1j13K7sLd+Pn34r
55uRSRZre02forlg/a2SU7jTNGpb2a9sDoBXxhtZ5VJug/g9vmibZbJr4Dnica8I
VG9PLR5qbkE1zZPTyzAfdviAlEyudRAGTckTJK5PLaM7ji+NfYeiRZihz2q9GisY
OioT6796M2JulDIbkWxNe/kCgYBAWK76umvvi6XZy5Wsusqs9c8TE4Gfvx7RmcAV
+Z5DLJkRd7wjLNU3x+b6AUYQ7QC1KdebxGKozKxBkfX3mpAl2HFZocftvSm0sXai
wmXsFlwOuSjYQzS3mDK9BmRodyEEIfxg1hlOVLg+RXcHg4w5fZ6eGvrdfCqtyGha
Z6dbCQKBgGR/d5+xtzcdNmRYpqV2dd8lc0ye8kloGZRE3mCByqjAcI2nIXyFqhSi
Hm7Hs8Pcw/bq2wPMOb9+5gsGHIE9k6yjPhTPBufgr2UtIBO7w6N+eyawiDj7Wlhn
/4tZqDDNV9QP+YSybcyZI/GsTRCYdeF8rw/hBkXMcG/3gOqsiKOE
-----END RSA PRIVATE KEY-----
Public key
$ cat pubkey.pem
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4Kqfn3osK33k/M8lPciH
dlSmGN/lmhksds0/ebiF6IAJRXsxsQZuFPwHlunnC7ihcIiLE0ySOjpUgLuoLuFW
J5+qwgEyYLwTN3ea1vxKR/2jsxunmu4dRH/SpGWhji9H5hDJ+TsAIGnB7FL+9nce
Fjna+m3GaTVw9Pi3xbMUyLGsIHMH4CfngtthT0Nq2Sti2gFF9kCusDuzTfVAOFRN
fm1J5J2TgQlmA6XHNpQe+TyNFr5vE/dMLHTeMegvEAZQ+mRqCKtBOGrPFoyJdZjy
WLCiH3tNFpt+4KxHXFvOqbqPQjqylUyWHE3K89pV7+L3K6RDMmS6EMySFweWjRY3
TwIDAQAB
-----END PUBLIC KEY-----
These will be the keys for our zone.
Records in the zone are signed with the private key.
Lets take for example the a record a.example.com
Putting the record into a file.
$echo "ns1.test.com IN A <IP_ADDRESS>" >arecord.txt
Signing the file with the A record.
$ openssl dgst -sha256 -sign privkey.pem -out arecord.txt.sha256 arecord.txt
A file named arecord.txt.sha256 with the signature is created.
$ ls | grep sha256
arecord.txt.sha256
This signature can verify the authenticity of the original file using the public key.
$ openssl dgst -sha256 -verify pubkey.pem -signature arecord.txt.sha256 arecord.txt
Verified OK
If the original file is changed, or if a different file is used, the verification will fail.
Here is an example.
$ echo test >> arecord.txt
$ cat arecord.txt
ns1.test.com IN A <IP_ADDRESS>
test
Now the original file is changed.
Let’s try the verification again.
$ openssl dgst -sha256 -verify pubkey.pem -signature arecord.txt.sha256 arecord.txt
Verification Failure
Lets try the verification with a different file.
$ echo "ns1.test.com IN A <IP_ADDRESS>" >fakerecord.txt
$ openssl dgst -sha256 -verify pubkey.pem -signature arecord.txt.sha256 fakerecord.txt
Verification Failure
As in the above example, all the records in the zone are signed with a private key. The signature is then encoded(same as hashing) with base64 and an RRSIG record is created with the encoding for each record.
Please see below example.
$ echo "test.com IN SOA ns1.test.com. hostmaster.test.com.<PHONE_NUMBER> 1800 1800 1814400 3600) " > soarecord.txt
$ echo "test.com IN NS ns1.test.com." >nsrecord.txt
$ echo "ns1.test.com IN A <IP_ADDRESS>" >arecord.txt
$ ls
arecord.txt nsrecord.txt privkey.pem pubkey.pem soarecord.txt
$ openssl dgst -sha256 -sign privkey.pem -out soarecord.txt.sha256 soarecord.txt
$ openssl dgst -sha256 -sign privkey.pem -out nsrecord.txt.sha256 nsrecord.txt
$ openssl dgst -sha256 -sign privkey.pem -out arecord.txt.sha256 arecord.txt
$ ls
arecord.txt arecord.txt.sha256 nsrecord.txt nsrecord.txt.sha256 privkey.pem pubkey.pem soarecord.txt soarecord.txt.sha256
$ base64 soarecord.txt.sha256
MMoccLV19wocCHo2hdLSjKy5Irp2imxwXRone1eRpmSMpr33E3o1bcMORwyHutTtl0BKPPnlJiMK
mODMydZmRaM6n3UEDcOXUKTwWwDYihsM4/bic53zhBuS+fIn9EowKmEKJmgP5DCLxt5qmdK5xfZS
F20OKi/SHOJDy4YrGJrfOiI3Lp6FEVgFcNWZy+CVpXAItDsn5S2mkFv87oTsID01XTExRWvJRQSF
sDvOBYF7eEWmgXi7PnST0xN1fu3kwonmCOsXU2r7xJA1pmdyt7qQZGOLPTqmNftOALRySbrtiH27
AO4yct+54/sFEzxwpZ80FFZiE6sOS8FVHuLNTg==
$ base64 nsrecord.txt.sha256
b5iHVdENqbPoOt7kx6uXw+tdR5pfITohuwoXjSMvFbVgigAyiWky0UqlR1G+K4YrVXWka3m+vERs
H6QRndMrHVzvJgM4X9PTxgtgRC8skgg6HSyO/YH5lP7YXRNGPjWXnxOW0ry6x7+ij5WgwHB7TWkq
dU/HcVNupoYZ/5R0aGaDe5tyFgKtMW7dS3EieR08Vg0lGNUP8eEB9Xf0n+nhADj0S8pFnJtn2AUh
+gWNdLDkdNpmX9xFDZOS3JrlZem5FsGf+VvcgDySxVRabDsfioAzwxHbSgbmwsbiUM7no1ZX8xJU
62TCI3uNe6FHOyyJELsiUHEnzneLANqpU/irkg==
$ base64 arecord.txt.sha256
rOORLSorofC5s8DeT4n2HvnW5EV7rrR+ZpbOk5rnNAwJh1iNx24J687YgLrpotxzbZUGPUIlU3nN
tn50LzNZ6AicCFB/wppTq1a2jswmeF6YiKWXF/cjhvSG3Q46Vdlfe2Mn4hrNEaS+OEk6TjdTT7py
ajwUDuzIrH9FU/Z2hYles3GIWBaffD9HrC+NuOvG4mMB8Z72ABin7oURKowZSQ2WsaQu5XlxWMaE
TLx9pKQJD+r8naCD1XCCvJhwWLA78rnreRVtTv7gRYuyiCQIWhkBkxs0cSGcrKxy+fiJ/83vWNMl
U3GRLY80wvDLHU4M84L+u0d++WcfPV5KKtudbQ==
Now with the base64 encoded strings obtained, RRSIG records are created like below.
| Records |
|---|
| test.com IN RRSIG SOA MMoccLV19wocCHo2hdLSjKy5Irp2imxwXRone1eRpmSMpr33E3o1bcMORwyHutTtl0BKPPnlJiMKmODMydZmRaM6n3UEDcOXUKTwWwDYihsM4/bic53zhBuS+fIn9EowKmEKJmgP5DCLxt5qmdK5xfZSF20OKi/SHOJDy4YrGJrfOiI3Lp6FEVgFcNWZy+CVpXAItDsn5S2mkFv87oTsID01XTExRWvJRQSFsDvOBYF7eEWmgXi7PnST0xN1fu3kwonmCOsXU2r7xJA1pmdyt7qQZGOLPTqmNftOALRySbrtiH27AO4yct+54/sFEzxwpZ80FFZiE6sOS8FVHuLNTg== |
| test.com IN RRSIG NS b5iHVdENqbPoOt7kx6uXw+tdR5pfITohuwoXjSMvFbVgigAyiWky0UqlR1G+K4YrVXWka3m+vERsH6QRndMrHVzvJgM4X9PTxgtgRC8skgg6HSyO/YH5lP7YXRNGPjWXnxOW0ry6x7+ij5WgwHB7TWkqdU/HcVNupoY/5R0aGaDe5tyFgKtMW7dS3EieR08Vg0lGNUP8eEB9Xf0n+nhADj0S8pFnJtn2AUh+gWNdLDkdNpmX9xFDZOS3JrlZem5FsGf+VvcgDySxVRabDsfioAzwxHbSgbmwsbiUM7no1ZX8xJU62TCI3uNe6FHOyyJELsiUHEnzneLANqpU/irkg== |
| Ns1.test.com IN RRSIG A rOORLSorofC5s8DeT4n2HvnW5EV7rrR+ZpbOk5rnNAwJh1iNx24J687YgLrpotxzbZUGPUIlU3nNtn50LzNZ6AicCFB/wppTq1a2jswmeF6YiKWXF/cjhvSG3Q46Vdlfe2Mn4hrNEaS+OEk6TjdTT7pyajwUDuzIrH9FU/Z2hYles3GIWBaffD9HrC+NuOvG4mMB8Z72ABin7oURKowZSQ2WsaQu5XlxWMaETLx9pKQJD+r8naCD1XCCvJhwWLA78rnreRVtTv7gRYuyiCQIWhkBkxs0cSGcrKxy+fiJ/83vWNMlU3GRLY80wvDLHU4M84L+u0d++WcfPV5KKtudbQ== |
Note: The above records are not in the true structure of these records. This is only a representation to help understand the concept. For the real records structure and understanding the different fields in the records, refer RFC 4034.
These records can be decoded with base64 to get the signatures and the signatures can be verified with the public key.
For such verification, the public key for the zone needs to be distributed to the clients.
The public key is encoded with base64 and the encoding is used to create a DNSKEY record for the zone. This DNSKEY record is known as a Zone Signing Key.
As mentioned earlier in the article, when a zone is signed, two key pairs are generated.
The second key pair is used to sign and verify the public key for the zone(Zone Signing Key).
The public key is signed using the second private key, the signature is encoded in base64 and the encoding is used to create an RRSIG for the Zone Signing Key. The second public key is encoded with base64 another DNSKEY record known as the Key Signing Key. This record is used to verify the authenticity of the Zone Signing Key.
Now the public key of the Key Signing Key is encoded/hashed with SHA-1 or SHA-256 and this encoding/hash is used to create another record called the DS record.
The DS record is placed at the parent for the zone. In this case, the parent for ‘test.com.’ is ‘com.’. The DS record can be used to verify the authenticity of the Key Signing Key.


On 24th of June 2020 I gave a presentation at the "Programmed in Pencil" where I talked about the greatness that is Canvas for manipulating images.
This is the code repository of the demos I showed in the slides for you to play with and to learn from. The code is heavily commented and you can check it on the GitHub repository or in your developer tools of choice. On the menu, we have:
Resources I covered in the talk are:
The recording is available on YouTube:
You can check the slides of the talk at Noti.st or here:
View Images, pixels, canvas, tigers and bears… on Notist.


GooglePeopleSearch - powered by
{% block content %} {% endblock %}
Alex Mathew
Facebook
Twitter
LinkedIn
GitHub


--- layout: work-post title: Brass Tacks permalink: brass-tacks.html ---
Brass Tacks is a detailing business located in Pittsburgh, PA. Users can visit their site and learn about services and schedule detailing appointments. View Website


Weather Dashboard
Temperature:
Humidity:
Wind Speed:
UV Index:
5-Day Forecast:
Temperature:
Humidity:
Temperature:
Humidity:
Temperature:
Humidity:
Temperature:
Humidity:
Temperature:
Humidity:


H.B. Woodrose
This trip report isn't a usual one, describing the feelings and visuals of my induced euphoria. Herein I'll describe the lifechanging profoundness, but I'll need your patience as the story requires a prologue so that the full implications may be realized.
Lately I have been extremely depressed. Developing symptoms of severe depression, paranoia, schizophrenia, etc...  There's lots of specifics to these, but you get the picture already.
A little while ago, my mental depression began to reach a height never thus reached. I managed to keep my sanity, but day in and day out I knew I was depressed to the marrow. Marrow, that brings me to the second point of that. That my body, as the vessel of my mind and a parallel to it, has been suffering as well, and has fallen ill. I've been in a state of tragic misery, a slippery downward spiral from which there was no escape but suicide (which I'd contemplated in detail far too frequently). Bed ridden with mono, my mental state has been on a steep decline, my body has been exhausted.
But today I sucked it up and went out to the a Book Shop in downtown Vancouver, went inside to the little shop at the back called the Urban Shaman, and bought some HB Woodrose seeds (as well as some Cebil seeds & Calea Zacatechichi, both of which I have yet to try) with some chance money I recently came upon. I got home, stuck 4 seeds in my mouth and waited a while.
Nothing happened.
So I waited a while longer. And nothing happened.
So I chewed them up and held them in my mouth. After a while I thought I felt some form of intoxication, but wasn't quite sure. After another while, I swallowed the mildly bitter saliva and seed chunk concoction.
I started to get really tired, I mean dead tired. I stumbled around the house in a stupor in an attempt to find my bed, where I literally crashed.
I started getting really sick. I was getting unpleasurably disoriented and my nausea was worsening. Thoughts were filling my mind of a parallel mental nausea from which I couldn't escape, not in a million years. So I drank some water and closed my eyes. I don't remember how, but I fell asleep. I woke up about 10 minutes later, in the same condition. These sleep disruptions persisted at irregular, yet brief, intervals reminiscent of the aforementioned.
Then I woke up.
About an hour or an hour and a half after I swallowed the seeds, I awoke to find my nausea gone. I had this pleasant feeling throughout my body and my mind.
I put on Dark Side of the Moon, and began to write about the sun, the earth, and of my profound emotional relationship with them.
I'm not really experiencing any visuals, but my imagination is wandering beautifully when my eyes are closed. My mind is putting the pieces together of every jigsaw piece that plagues my mind and amounts to my general anxiety and depression. I'm learning so much about myself and my surroundings, to seemingly infinite extents in both intro- and extraverted directions. I'm filled with love for myself, my family (a few hours ago whom I'd loathed the faintest of thoughts of), and the univers (that's just how I like to spell it).
These pivotal thoughts aren't just of general notion either. My mind comprehends the emotional and mental specific aspects that reveal the inner and outer workings that ought to fall into place should the univers be a perfect place.
My appreciation for vibrant beautiful colours. Not just actual visual colours, but the colours of life, of the mind, and of the heart. I've acquired patience, peace, and purity.
My illness is characterized by an extremely sore throat (it's a strenuous agony to try to swallow, yawn, or even turn my head), and a severely swollen neck, with complementary swollen lymph nodes.
But the swelling's gone down tremendously in the course of just a few hours. As my body was a parallel of my unhealthy mind earlier, it is becoming a parallel of my happy/healthy (two words which I feel are the same idea) mind.
My creative and intellectual mind is being nourished, and that brings me an amazing joy. My ego is disappearing. I just feel great, through and through, all over.
Strangely, the one thing that kept me going through my suicidal depression was the hope that one day, I could achieve these feelings. These feelings of peace and tranquility and happiness and health. They seemed so unattainable, like they were designed for every human and animal on the planet save me. These things were just concepts that dogged my mind day in and day out, because I couldn't have them.
But these seeds that contain LSA helped me achieve what I'd sought for so long. I feel enabled to take on the world. I'm no longer the sloth I was. The high may be mild, but at the same time it's very intense. That, and I know to make the most of what I'm presented with (so does my body. I believe it's possible to train your mind as well as your body to make the most of what mental, emotional, and physical 'nutrients' you put in them. This, I suspect, goes the same for drugs). My life feels like it's turned on a dime. No longer slipping away into the recesses of insanity. I feel bright, radiant, vibrant, and warm.
-----
As you may have been able to tell, as I write this I am under the influence of the baby Hawaiian Woodrose seeds. So this feeling is only temporary, but even when the high is gone, I can still keep the insights I gained that shall serve me with the tools necessary to build a happy & healthy life. And perhaps this mild trip is only the precursor & preparation to & for even greater experiences with higher doses & even other psychedelics.
Thank you drugs! You've healed me and changed my life. Amen.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Hello, world! I'm Rezwan and I absolutely love technology. You'll mostly find me coding on my Laptop or tweaking my One Plus, but I'm also very passionate about cars and love listening to music.
About Me
Education
The International University of Scholars
BSc in Computer Science & Engineering, 2016-present
Dhaka Imperial College
HSC, 2011-2013
Dhaka Collegiate School, Dhaka
SSC, 2003-2011
Experience
Infotech IT, Bangladesh
Senior Executive, August 2016 - February 2017
Google Developer Group, Dhaka
Team Member, 2018-2019
ACM ICPC
Participated in several ACM programming contests
My Apps
An app to keep notes in a simple way
A beautiful, stock management application to interact with your products
A python programmed app with selenium web driver.
Other Projects
A music creating application
A story based app
Stay connected for more features. Check out my profile below!


@* * Copyright 2021 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import config.AppConfig @import views.helpers._ @import views.html.helpers._ @(searchForm: Form[SearchQuery], notableEventType: String)(implicit request: Request[_], messages: Messages, appConfig: AppConfig) @notableEvent = @{ appConfig.notableEvents(notableEventType) } @for((searchKey, index) <- notableEvent.searchKeys.zipWithIndex){ @TextInput( TextInputParams( value=searchForm(s"searchKeyValue_$index").value, name={s"searchKeyValue_$index"}, label=Messages(s"search.page.searchkey.lbl", searchKey.label), error="Enter a search term" ) ) }


distinct.cc File Reference
(Revision: 6324)
#include "test/int.hh"
Go to the source code of this file.
Namespaces | |
| namespace | Test |
| namespace | Test::Int |
| namespace | Test::Int::Distinct |
Classes | |
| class | Test::Int::Distinct::Distinct< useCount > |
| Simple test for distinct constraint. More... | |
| class | Test::Int::Distinct::Offset |
| Simple test for distinct constraint with offsets. More... | |
| class | Test::Int::Distinct::Random |
| Randomized test for distinct constraint. More... | |
| class | Test::Int::Distinct::Pathological |
| Testing pathological cases. More... | |
| class | Test::Int::Distinct::Pathological::TestSpace |
| Test space. More... | |
Variables | |
| const int | Test::Int::Distinct::v [7] = {-1001,-1000,-10,0,10,1000,1001} |
| Gecode::IntSet | Test::Int::Distinct::d (v, 7) |
| Distinct< false > | Test::Int::Distinct::dom_d (-3, 3, Gecode::ICL_DOM) |
| Distinct< false > | Test::Int::Distinct::bnd_d (-3, 3, Gecode::ICL_BND) |
| Distinct< false > | Test::Int::Distinct::val_d (-3, 3, Gecode::ICL_VAL) |
| Distinct< false > | Test::Int::Distinct::dom_s (d, Gecode::ICL_DOM) |
| Distinct< false > | Test::Int::Distinct::bnd_s (d, Gecode::ICL_BND) |
| Distinct< false > | Test::Int::Distinct::val_s (d, Gecode::ICL_VAL) |
| Distinct< true > | Test::Int::Distinct::count_dom_d (-3, 3, Gecode::ICL_DOM) |
| Distinct< true > | Test::Int::Distinct::count_bnd_d (-3, 3, Gecode::ICL_BND) |
| Distinct< true > | Test::Int::Distinct::count_val_d (-3, 3, Gecode::ICL_VAL) |
| Distinct< true > | Test::Int::Distinct::count_dom_s (d, Gecode::ICL_DOM) |
| Distinct< true > | Test::Int::Distinct::count_bnd_s (d, Gecode::ICL_BND) |
| Distinct< true > | Test::Int::Distinct::count_val_s (d, Gecode::ICL_VAL) |
| Offset | Test::Int::Distinct::dom_od (-3, 3, Gecode::ICL_DOM) |
| Offset | Test::Int::Distinct::bnd_od (-3, 3, Gecode::ICL_BND) |
| Offset | Test::Int::Distinct::val_od (-3, 3, Gecode::ICL_VAL) |
| Offset | Test::Int::Distinct::dom_os (d, Gecode::ICL_DOM) |
| Offset | Test::Int::Distinct::bnd_os (d, Gecode::ICL_BND) |
| Offset | Test::Int::Distinct::val_os (d, Gecode::ICL_VAL) |
| Random | Test::Int::Distinct::dom_r (20,-50, 50, Gecode::ICL_DOM) |
| Random | Test::Int::Distinct::bnd_r (50,-500, 500, Gecode::ICL_BND) |
| Random | Test::Int::Distinct::val_r (50,-500, 500, Gecode::ICL_VAL) |
| Pathological | Test::Int::Distinct::p_16_v (16, Gecode::ICL_VAL) |
| Pathological | Test::Int::Distinct::p_16_b (16, Gecode::ICL_BND) |
| Pathological | Test::Int::Distinct::p_16_d (16, Gecode::ICL_DOM) |
| Pathological | Test::Int::Distinct::p_32_v (32, Gecode::ICL_VAL) |
| Pathological | Test::Int::Distinct::p_32_b (32, Gecode::ICL_BND) |
| Pathological | Test::Int::Distinct::p_32_d (32, Gecode::ICL_DOM) |


--- layout: post status: publish published: true title: 'Presentation: ZigBee' author: display_name: ian login: ian email<EMAIL_ADDRESS>url: http://iancwill.com/blog author_login: ian author_email<EMAIL_ADDRESS>author_url: http://iancwill.com/blog wordpress_id: 59 wordpress_url: http://iancwill.com/blog/?p=59 date: '2011-04-07 09:23:35 -0600' date_gmt: '2011-04-07 13:23:35 -0600' ---
I presented on ZigBee for my embedded systems class. Here's the presentation. I feel it's a good overview and orientation of ZigBee terminology and basics, but wish I had gone more in depth into the protocols for joining / establishing mesh networks.


{% extends 'base.html' %} {% block browse %}
Deciding what to read next?
What are your friends reading?
What will you discover?


| author: | Liu.Jia Guannan Ma |
|---|---|
| create_date: | 2014 |
| last_date: | 2014 |
| descrition: | Complex conf support |
Bases: cup.err.BaseCupException
数组类型错误
Bases: object
Depreciated class. Please do not use it. Use python configparser instead.
Bases: object
历史遗留类. 请忽略. 操作我厂configure公共库conf的类。 主要调用cfmod这个工具进行. 推荐使用Configure2Dict转换成dict,在使用Dict2Configure类来操作conf文件. 如果只是简单的更新某个key, 可以使用此类.
Bases: dict
ConfDict that Configure2Dict and Dict2Configure can use.
Bases: cup.err.BaseCupException
ConfDict Error
Bases: list
增加一个conf的数组属性. 以ConfList的数据方式表现
e.g.
@disk: /home/disk1 @disk: /home/disk2
Bases: cup.err.BaseCupException
ConfList Error
Bases: object
Configure2Dict support conf features below:
As we support access/modify comments in a conf file, you should obey rules below:
Comment closely above the object you want to comment. Do NOT comment after the line.
Otherwise, you might get/set a wrong comment above the object.
sections
2.1 global section
- if key:value is not under any [section], it is under the global layer
by default
global section is the 0th layer section
e.g. test.conf:
# test.conf global-key: value global-key1: value1
1st layer section
above. It’s the 2nd layer section.
above. And the prefix .. means it is the 3rd layer section
e.g.: test.conf:
global-key: value [section]
host: abc.com port: 8080 [.section_child]
child_key: child_value [..section_child_child]
control: ssh [...section_child_child_child]
wow_key: wow_value
get_dict method will convert conf into a ConfDict which is derived
from python dict.
Access the section with confdict[‘section’][‘section-child’].
comments)
key:value can be set under Global section which is closely after the 1st line with no [section] above.
key:value can also be set under sections.
# test.conf key1: value1 [section]
key_section: value_in_section [.seciton]
key_section_child: value_section_child
key:value arrays can be access with confdict[‘section’][‘disk’].
You will get a ConfList derived from python list.
# test.conf # Global layer, key:value host: abc.com port: 12345 # 1st layer [monitor] @disk: /home/data0 @disk: /home/data1 [section]
@disk: /home/disk/disk1 @disk: /home/disk/disk2
# test.conf # Global layer, key:value host: abc.com port: 12345 # 1st layer [monitor] @disk: /home/data0 @disk: /home/data1 [section]
@disk: /home/disk/disk1 @disk: /home/disk/disk2
timeout: 100 regex: sshd # 2nd layer that belongs to [monitor] [.timeout]
# key:value in timeout max: 100 # 3rd layer that belongs to [monitor] [timeout] [..handler]
default: exit
Bases: object
Convert Dict into Configure. You can convert a ConfDict or python dict into a conf file.
Bases: cup.err.BaseCupException
Key error class
Bases: cup.err.BaseCupException
Line error class
Bases: cup.err.BaseCupException
unkown error class
Bases: cup.err.BaseCupException
value error class
| descrition: | heartbeat related module test-case-name: twisted.python.test.test_constants Copyright (c) Twisted Matrix Laboratories. See LICENSE for details. |
|---|---|
| license: | CUP dev team modified and redistrbuted this module, according to MIT license(http://opensource.org/licenses/mit-license.php) that Twisted lib obeys. If any concern, plz contact<EMAIL_ADDRESS>|
Bases: cup.util.constants._Constant
L{NamedConstant} defines an attribute to be a named constant within a collection defined by a L{Names} subclass.
L{NamedConstant} is only for use in the definition of L{Names} subclasses. Do not instantiate L{NamedConstant} elsewhere and do not subclass it.
Bases: cup.util.constants._Constant
L{ValueConstant} defines an attribute to be a named constant within a collection defined by a L{Values} subclass.
L{ValueConstant} is only for use in the definition of L{Values} subclasses. Do not instantiate L{ValueConstant} elsewhere and do not subclass it.
Bases: cup.util.constants._Constant
L{FlagConstant} defines an attribute to be a flag constant within a collection defined by a L{Flags} subclass.
L{FlagConstant} is only for use in the definition of L{Flags} subclasses. Do not instantiate L{FlagConstant} elsewhere and do not subclass it.
Bases: cup.util.constants._ConstantsContainer
A L{Names} subclass contains constants which differ only in their names and identities.
Bases: cup.util.constants._ConstantsContainer
A L{Values} subclass contains constants which are associated with arbitrary values.
Retrieve a constant by its value or raise a C{ValueError} if there is no constant associated with that value.
@param value: The value of one of the constants defined by C{cls}.
@return: The L{ValueConstant} associated with C{value}.
Bases: cup.util.constants.Values
A L{Flags} subclass contains constants which can be combined using the common bitwise operators (C{|}, C{&}, etc) similar to a I{bitvector} from a language like C.
| author: | Guannan Ma |
|---|---|
| create_date: | 2014 |
| last_date: | 2014 |
| descrition: | context for threadpool |
| author: | Guannan Ma |
|---|---|
| create_date: | 2014 |
| last_date: | 2014 |
用来生成各类唯一数，字符集，线程安全的自增uint的类。 目前生成函数较少， 欢迎大家贡献ci. Singleton类。初始化需要传入一个用来生成字符集的string.
| 初始化函数: |
|
|---|---|
| 成员函数: |
|
| author: | Guannan Ma |
|---|---|
| create_date: | 2014 |
| last_date: | 2014 |
| descrition: | misc functions |
| author: | Zhaominghao Guannan Ma |
|---|---|
| create_date: | 2014 |
| last_date: | 2014 |
| descrition: | cup thread module |
Bases: threading.Thread
CupThread继承threading.Thread, 支持threading.Thread所有功能和特性, CupThread扩展了三个功能,raise_exc给线程发送raise信号,get_my_tid返回线程id， terminate同步中止线程
| author: | Guannan Ma |
|---|---|
| create_date: | 2014 |
| last_date: | 2014 |
| descrition: | Guannan ported threadpool from twisted.python. Mit License applied for twisted. http://www.opensource.org/licenses/mit-license.php if any concern, plz contact<EMAIL_ADDRESS>|
Bases: object
Threadpool class
| Parameters: |
|
|---|
| Parameters: |
|
|---|
回返当前threadpool的状态信息. 其中queue_len为当前threadpool排队的作业长度 waiters_num为当前空闲的thread num working_num为当前正在工作的thread num thread_num为当前一共可以使用的thread num:
stat = {}
stat['queue_len'] = self._jobqueue.qsize()
stat['waiters_num'] = len(self._waiters)
stat['working_num'] = len(self._working)
stat['thread_num'] = len(self._threads)


Next: tree-equal, Previous: sublis, Up: Conses Dictionary
subst
new old tree &key key test test-not ⇒ new-tree
subst-if
new predicate tree &key key ⇒ new-tree
subst-if-not
new predicate tree &key key ⇒ new-tree
nsubst
new old tree &key key test test-not ⇒ new-tree
nsubst-if
new predicate tree &key key ⇒ new-tree
nsubst-if-not
new predicate tree &key key ⇒ new-tree
new—an object.
old—an object.
predicate—a symbol that names a function, or a function of one argument that returns a generalized boolean value.
tree—a tree.
test—a designator for a function of two arguments that returns a generalized boolean.
test-not—a designator for a function of two arguments that returns a generalized boolean.
key—a designator for a function of one argument, or nil.
new-tree—a tree.
subst, subst-if, and subst-if-not perform substitution operations on tree. Each function searches tree for occurrences of a particular old item of an element or subexpression that satisfies the test.
nsubst, nsubst-if, and nsubst-if-not are like subst, subst-if, and subst-if-not respectively, except that the original tree is modified.
subst makes a copy of tree, substituting new for every subtree or leaf of tree (whether the subtree or leaf is a car or a cdr of its parent) such that old and the subtree or leaf satisfy the test.
nsubst is a destructive version of subst. The list structure of tree is altered by destructively replacing with new each leaf of the tree such that old and the leaf satisfy the test.
For subst, subst-if, and subst-if-not, if the functions succeed, a new copy of the tree is returned in which each occurrence of such an element is replaced by the new element or subexpression. If no changes are made, the original tree may be returned. The original tree is left unchanged, but the result tree may share storage with it.
For nsubst, nsubst-if, and nsubst-if-not the original tree is modified and returned as the function result, but the result may not be eq to tree.
(setq tree1 '(1 (1 2) (1 2 3) (1 2 3 4))) ⇒ (1 (1 2) (1 2 3) (1 2 3 4)) (subst "two" 2 tree1) ⇒ (1 (1 "two") (1 "two" 3) (1 "two" 3 4)) (subst "five" 5 tree1) ⇒ (1 (1 2) (1 2 3) (1 2 3 4)) (eq tree1 (subst "five" 5 tree1)) ⇒ implementation-dependent (subst 'tempest 'hurricane '(shakespeare wrote (the hurricane))) ⇒ (SHAKESPEARE WROTE (THE TEMPEST)) (subst 'foo 'nil '(shakespeare wrote (twelfth night))) ⇒ (SHAKESPEARE WROTE (TWELFTH NIGHT . FOO) . FOO) (subst '(a . cons) '(old . pair) '((old . spice) ((old . shoes) old . pair) (old . pair)) :test #'equal) ⇒ ((OLD . SPICE) ((OLD . SHOES) A . CONS) (A . CONS)) (subst-if 5 #'listp tree1) ⇒ 5 (subst-if-not '(x) #'consp tree1) ⇒ (1 X) tree1 ⇒ (1 (1 2) (1 2 3) (1 2 3 4)) (nsubst 'x 3 tree1 :key #'(lambda (y) (and (listp y) (third y)))) ⇒ (1 (1 2) X X) tree1 ⇒ (1 (1 2) X X)
nsubst, nsubst-if, and nsubst-if-not might alter the tree structure of tree.
‘substitute; substitute-if; substitute-if-not; nsubstitute; nsubstitute-if; nsubstitute-if-not’ , nsubstitute,
Traversal Rules and Side Effects
The :test-not parameter is deprecated.
The functions subst-if-not and nsubst-if-not are deprecated.
One possible definition of subst:
(defun subst (old new tree &rest x &key test test-not key) (cond ((satisfies-the-test old tree :test test :test-not test-not :key key) new) ((atom tree) tree) (t (let ((a (apply #'subst old new (car tree) x)) (d (apply #'subst old new (cdr tree) x))) (if (and (eql a (car tree)) (eql d (cdr tree))) tree (cons a d))))))
Next: tree-equal, Previous: sublis, Up: Conses Dictionary


{% extends "base.html" %} {% load cache %} {% block title %} Courses {%endblock%} {% block content %}
{{course.overview}}
You are not enrolled in any courses yet. Browse courses to enroll in a course.


Celeste's Paradise Island
Celeste's Private Escape
Checkout our exciting new private island!
Please click on a link to get more information about our island
Accomodations
Activites
Contact Information
Pictures
Travel arrangements