-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathDeadlineProcess.hpp
executable file
·59 lines (50 loc) · 1.49 KB
/
DeadlineProcess.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//
// DeadlineProcess.hpp
// AggregationNS3
//
// Created by Alper Sinan Akyurek on 8/8/16.
// Copyright © 2016 Alper Sinan Akyurek. All rights reserved.
//
#ifndef DeadlineProcess_hpp
#define DeadlineProcess_hpp
#include <ns3/core-module.h>
/**
Base class for a deadline process. Any inheriting class must implement
a deadline generating function and a destructor if necessary
**/
class DeadlineProcess : public ns3::SimpleRefCount< DeadlineProcess >
{
public:
/** Deadline type **/
typedef ns3::Time TDeadline;
protected:
/** Expected deadline of the process **/
TDeadline m_expectedDeadline;
public:
/**
Constructor to set the expected deadline value
\param expectedDeadline Expected Deadline value.
**/
DeadlineProcess( const TDeadline expectedDeadline );
/**
Virtual function that returns the actual deadline value by the
inheriting class.
\return The next deadline value.
**/
virtual TDeadline
GetNextDeadline( void ) const = 0;
/**
Returns the expected deadline value.
\return Expected deadline independent from the distribution.
**/
TDeadline
GetExpectedDeadline( void ) const
{
return ( this->m_expectedDeadline );
}
/**
Empty virtual destructor.
**/
virtual ~DeadlineProcess( void ){}
};
#endif /* DeadlineProcess_hpp */