RINASim  October 2016
Documentation of framework for OMNeT++
RXControl.h
Go to the documentation of this file.
1 // The MIT License (MIT)
2 //
3 // Copyright (c) 2014-2016 Brno University of Technology, PRISTINE project
4 //
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
6 // of this software and associated documentation files (the "Software"), to deal
7 // in the Software without restriction, including without limitation the rights
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 // copies of the Software, and to permit persons to whom the Software is
10 // furnished to do so, subject to the following conditions:
11 //
12 // The above copyright notice and this permission notice shall be included in
13 // all copies or substantial portions of the Software.
14 //
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 // THE SOFTWARE.
22 
23 /*
24  * @file RXControl.h
25  * @author Marcel Marek (imarek@fit.vutbr.cz)
26  * @date May 3, 2014
27  * @brief
28  * @detail
29  */
30 
31 #ifndef RXCONTROL_H_
32 #define RXCONTROL_H_
33 
34 #include <omnetpp.h>
35 
36 /*
37  *
38  */
39 class RXControl : public cSimpleModule
40 {
41  friend class DTP;
42  private:
43 // unsigned int rightWinEdge; //The highest sequence number that the remote application is currently willing to accept on this connection.
44 // unsigned int lastRightWinEdgeSent; //The sequence number of the last Right Window Edge Sent in a Control PDU. (This should be the same as RightWindowEdge.)
45  //rxQ //retransmissionQueue - The queue of PDUs that have been handed off to the RMT but not yet acknowledged.
46 
47  /* Moved to DTCPState because it is needed even if RXControl is not present */
48 // unsigned int nextSenderControlSeqNum; //This state variable will contain the Sequence Number to be assigned to a Control PDU sent on this connection.
49 // unsigned int lastControlSeqNumRcv; // - This state variable contains the sequence number of the next expected Transfer PDU received on this connection.
50 
51 // unsigned int sendLeftWinEdge; // This state variable contains the Sequence Number of the lowest sequence number expected to be Acked. This should be the Sequence Number of the first PDU on the RetransmissionQ.
52 // unsigned int dataReXmitMax; // The maximum number of retransmissions of PDUs without a positive acknowledgement that will be tried before declaring an error.
53 // unsigned int rcvLeftWinEdge; // This state variable contains the Sequence Number of the lowest sequence number expected to be Acked. This should be the Sequence Number of the first PDU on the RetransmissionQ.
54 
55 
56 
57  // unsigned int dupAcks;
58 
59 
60  /* Nota Bene: DTCP PDU Retransmission: Note that there is no retransmission queue
61  for DTCP Control PDUs, when a lost control PDU is detected a new one is generated
62  with the current information. */
63 
64  public:
65  RXControl();
66  virtual ~RXControl();
67 
68 // unsigned int getRightWinEdge();
69 
70 // unsigned int getNextSndCtrlSeqNum();
71 // unsigned int getLastCtrlSeqNumRcv();
72 // void setLastCtrlSeqNumRcv(unsigned int ctrlSeqNum);
73 // void incDupAcks();
74 };
75 
76 #endif /* RXCONTROL_H_ */
virtual ~RXControl()
Definition: RXControl.cc:42
Definition: DTP.h:60