A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
application.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2006 Georgia Tech Research Corporation
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation;
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software
15
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
*
17
* Author: George F. Riley<riley@ece.gatech.edu>
18
*/
19
20
#ifndef APPLICATION_H
21
#define APPLICATION_H
22
23
#include "ns3/event-id.h"
24
#include "ns3/node.h"
25
#include "ns3/nstime.h"
26
#include "ns3/object.h"
27
#include "ns3/ptr.h"
28
29
namespace
ns3
30
{
31
32
class
Node;
33
60
class
Application
:
public
Object
61
{
62
public
:
67
static
TypeId
GetTypeId
();
68
Application
();
69
~Application
()
override
;
70
82
void
SetStartTime
(
Time
start);
83
95
void
SetStopTime
(
Time
stop);
96
100
Ptr<Node>
GetNode
()
const
;
101
105
void
SetNode
(
Ptr<Node>
node);
106
114
typedef
void (*
DelayAddressCallback
)(
const
Time
& delay,
const
Address
& from);
115
122
typedef
void (*
StateTransitionCallback
)(
const
std::string& oldState,
123
const
std::string& newState);
124
125
private
:
133
virtual
void
StartApplication
();
134
142
virtual
void
StopApplication
();
143
144
protected
:
145
void
DoDispose
()
override
;
146
void
DoInitialize
()
override
;
147
148
Ptr<Node>
m_node
;
149
Time
m_startTime
;
150
Time
m_stopTime
;
151
EventId
m_startEvent
;
152
EventId
m_stopEvent
;
153
};
154
155
}
// namespace ns3
156
157
#endif
/* APPLICATION_H */
ns3::Address
a polymophic address class
Definition:
address.h:100
ns3::Application
The base class for all ns3 applications.
Definition:
application.h:61
ns3::Application::m_startEvent
EventId m_startEvent
The event that will fire at m_startTime to start the application.
Definition:
application.h:151
ns3::Application::DoInitialize
void DoInitialize() override
Initialize() implementation.
Definition:
application.cc:95
ns3::Application::SetNode
void SetNode(Ptr< Node > node)
Definition:
application.cc:114
ns3::Application::DoDispose
void DoDispose() override
Destructor implementation.
Definition:
application.cc:85
ns3::Application::m_startTime
Time m_startTime
The simulation time that the application will start.
Definition:
application.h:149
ns3::Application::m_stopTime
Time m_stopTime
The simulation time that the application will end.
Definition:
application.h:150
ns3::Application::~Application
~Application() override
Definition:
application.cc:65
ns3::Application::SetStopTime
void SetStopTime(Time stop)
Specify application stop time.
Definition:
application.cc:78
ns3::Application::StopApplication
virtual void StopApplication()
Application specific shutdown code.
Definition:
application.cc:129
ns3::Application::StartApplication
virtual void StartApplication()
Application specific startup code.
Definition:
application.cc:123
ns3::Application::SetStartTime
void SetStartTime(Time start)
Specify application start time.
Definition:
application.cc:71
ns3::Application::DelayAddressCallback
void(* DelayAddressCallback)(const Time &delay, const Address &from)
Common callback signature for packet delay and address.
Definition:
application.h:114
ns3::Application::m_stopEvent
EventId m_stopEvent
The event that will fire at m_stopTime to end the application.
Definition:
application.h:152
ns3::Application::StateTransitionCallback
void(* StateTransitionCallback)(const std::string &oldState, const std::string &newState)
Common signature used by callbacks to application's state transition trace source.
Definition:
application.h:122
ns3::Application::Application
Application()
Definition:
application.cc:59
ns3::Application::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
application.cc:40
ns3::Application::GetNode
Ptr< Node > GetNode() const
Definition:
application.cc:107
ns3::Application::m_node
Ptr< Node > m_node
The node that this application is installed on.
Definition:
application.h:148
ns3::EventId
An identifier for simulation events.
Definition:
event-id.h:55
ns3::Object
A base class which provides memory management and object aggregation.
Definition:
object.h:89
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition:
ptr.h:78
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition:
nstime.h:105
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
network
model
application.h
Generated on Sun Jul 2 2023 18:21:57 for ns-3 by
1.9.6