satellite-scheduling-object.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2013 Magister Solutions Ltd
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Jani Puttonen <jani.puttonen@magister.fi>
19  */
20 
21 #ifndef SATELLITE_SCHEDULING_OBJECT_H_
22 #define SATELLITE_SCHEDULING_OBJECT_H_
23 
24 #include <ns3/mac48-address.h>
25 #include <ns3/nstime.h>
26 #include <ns3/simple-ref-count.h>
27 
28 namespace ns3
29 {
30 
40 class SatSchedulingObject : public SimpleRefCount<SatSchedulingObject>
41 {
42  public:
47 
57  SatSchedulingObject(Mac48Address addr,
58  uint32_t bytes,
59  uint32_t minTxOpportunity,
60  Time holDelay,
61  uint8_t flowId);
62 
66  virtual ~SatSchedulingObject();
67 
72  Mac48Address GetMacAddress() const;
73 
78  uint32_t GetBufferedBytes() const;
79 
84  uint32_t GetMinTxOpportunityInBytes() const;
85 
91  uint8_t GetFlowId() const;
92 
97  Time GetHolDelay() const;
98 
99  private:
100  Mac48Address m_macAddress;
101  uint32_t m_bufferedBytes;
104  uint8_t m_flowId;
105 };
106 
107 } // namespace ns3
108 
109 #endif /* SATELLITE_SCHEDULING_OBJECT_H_ */
SatSchedulingObject is on object which passes the LLC/encapsulator layer related information for MAC ...
uint32_t GetBufferedBytes() const
Get buffered bytes of this object.
uint32_t GetMinTxOpportunityInBytes() const
Get minimum Tx opportunity in bytes.
SatSchedulingObject()
Default constructor.
virtual ~SatSchedulingObject()
Destructor.
uint8_t GetFlowId() const
Get the flow identifier of the scheduling object.
Time GetHolDelay() const
Get HOL delay of the object.
Mac48Address GetMacAddress() const
Get the MAC address of this object.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.