46#ifndef UWROV_CTR_MODULE_H
47#define UWROV_CTR_MODULE_H
52#define UWROV_DROP_REASON_UNKNOWN_TYPE "UKT"
53#define UWROV_DROP_REASON_OUT_OF_SEQUENCE "OOS"
54#define UWROV_DROP_REASON_DUPLICATED_PACKET "DPK"
55#define HDR_UWROV_MONITORING(p) (hdr_uwROV_monitoring::access(p))
56#define HDR_UWROV_CTR(p) (hdr_uwROV_ctr::access(p))
103 virtual int command(
int argc,
const char*
const* argv);
137 Position monitored_p_rov;
138 monitored_p_rov.setX(
x_rov);
139 monitored_p_rov.setY(
y_rov);
140 monitored_p_rov.setZ(
z_rov);
141 return monitored_p_rov;
149 virtual void recv(Packet*);
157 virtual void recv(Packet*
p, Handler* h);
169 virtual void start();
UwCbrModule class is used to manage UWCBR packets and to collect statistics about them.
UwSendTimer sendTmr_
Timer which schedules packet transmissions.
UwROVCtrModule class is used to manage UWROVCtr packets and to collect statistics about them.
Position getMonitoredROVPosition()
Returns the last ROV position monitored.
float y_rov
Y of the last ROV position monitored.
Packet * p
Sequence number of the last control packet sent.
int adaptiveRTO
1 if an adaptive RTO is used, 0 if a constant RTO is used.
virtual int command(int argc, const char *const *argv)
TCL command interpreter.
virtual ~UwROVCtrModule()
Destructor of UwROVCtrModule class.
float x_rov
X of the last ROV position monitored.
float newY
Y of the new position sent to the ROV.
virtual void start()
Start the controller.
double adaptiveRTO_parameter
Parameter for the adaptive RTO.
float newZ
Z of the new position sent to the ROV.
static int getROVCTRHeaderSize()
Returns the size in byte of a hdr_uwROV_ctr packet header.
float z_rov
Z of the last ROV position monitored.
float newX
X of the new position sent to the ROV.
void reset_retx()
Reset retransmissions.
virtual void initPkt(Packet *p)
Initializes a control data packet passed as argument with the default values.
virtual void recv(Packet *)
Performs the reception of packets from upper and lower layers.
Position posit
Controller position.
static int getROVMonHeaderSize()
Returns the size in byte of a hdr_uwROV_monitoring packet header.
virtual void setPosition(Position p)
Set the position of the ROVCtr.
virtual void transmit()
Creates and transmits a packet.
UwROVCtrModule()
Constructor of UwROVCtrModule class.
float speed
Moving speed sent to the ROV.
Position getPosition()
Returns the position of the ROVCtr.
UwSendTimer class is used to handle the scheduling period of UWROV packets.
UwROVCtrSendTimer(UwROVCtrModule *m)
Conscructor of UwSendTimer class.
UwSendTimer class is used to handle the scheduling period of UWCBR packets.
hdr_uwROV_ctr describes UWROV_ctr packets for controlling the ROV.
hdr_uwROV_monitoring describes UWROV_monitoring packets sent by the ROV to the base station for monit...
Provides the UWCBR packets header description and the definition of the class UWCBR.
Provides both UWROV monitoring and control packets header description.