DESERT 3.5.1
Loading...
Searching...
No Matches
uwmulti-stack-controller-phy.h
Go to the documentation of this file.
1//
2// Copyright (c) 2014 Regents of the SIGNET lab, University of Padova.
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions
7// are met:
8// 1. Redistributions of source code must retain the above copyright
9// notice, this list of conditions and the following disclaimer.
10// 2. Redistributions in binary form must reproduce the above copyright
11// notice, this list of conditions and the following disclaimer in the
12// documentation and/or other materials provided with the distribution.
13// 3. Neither the name of the University of Padova (SIGNET lab) nor the
14// names of its contributors may be used to endorse or promote products
15// derived from this software without specific prior written permission.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
21// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
38#ifndef UWOPTICAL_ACOUSTIC_CONTROLLER_PHY_H
39#define UWOPTICAL_ACOUSTIC_CONTROLLER_PHY_H
40
42#include "phymac-clmsg.h"
43
44#include <map>
45#include <string>
46
48
49public:
50
55
60
69 virtual int command(int, const char*const*);
70
83 virtual int recvSyncClMsg(ClMessage* m);
84
85
94 virtual void recv(Packet *p, int idSrc);
95
96
97protected:
98
107
109
110 static map< UWPHY_CONTROLLER_STATE , string > state_info;
111
115 virtual void initInfo();
116
121 virtual void stateIdle();
122
129 virtual void stateBusy2Rx(int id);
130
137 virtual void stateBusy2Tx(Packet *p);
138
139private:
140 //Variables
141};
142
143#endif /* UWOPTICAL_ACOUSTIC_CONTROLLER_PHY_H */
virtual ~UwMultiStackControllerPhy()
Destructor of UwMultiPhy class.
virtual void recv(Packet *p, int idSrc)
It manages each packet reception, either from the upper and the lower layer.
UwMultiStackControllerPhy()
Constructor of UwMultiPhy class.
static map< UWPHY_CONTROLLER_STATE, string > state_info
virtual void stateBusy2Tx(Packet *p)
Called when a node is transmitting a packet.
virtual void stateBusy2Rx(int id)
Called when a node is receiving correctely a packet from the lower layer.
virtual int recvSyncClMsg(ClMessage *m)
Cross-Layer messages synchronous interpreter.
virtual int command(int, const char *const *)
TCL command interpreter.
int receiving_id
current receiving PHY ID
virtual void initInfo()
This function is used to initialize the UwMultiStackControllerPhy debugging info.
virtual void stateIdle()
Node is in Idle state.
Class used to represents the UwMultiStackController layer of a node.
Definition of UwMultiStackController class.