A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
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 "
node.h
"
24
25
#include "ns3/event-id.h"
26
#include "ns3/nstime.h"
27
#include "ns3/object.h"
28
#include "ns3/ptr.h"
29
30
namespace
ns3
31
{
32
33
class
Node;
34
61
class
Application
:
public
Object
62
{
63
public
:
68
static
TypeId
GetTypeId
();
69
Application
();
70
~Application
()
override
;
71
83
void
SetStartTime
(
Time
start
);
84
96
void
SetStopTime
(
Time
stop
);
97
101
Ptr<Node>
GetNode
()
const
;
102
106
void
SetNode
(
Ptr<Node>
node);
107
115
typedef
void (*
DelayAddressCallback
)(
const
Time
& delay,
const
Address
& from);
116
123
typedef
void (*
StateTransitionCallback
)(
const
std::string& oldState,
124
const
std::string& newState);
125
126
private
:
134
virtual
void
StartApplication
();
135
143
virtual
void
StopApplication
();
144
145
protected
:
146
void
DoDispose
()
override
;
147
void
DoInitialize
()
override
;
148
149
Ptr<Node>
m_node
;
150
Time
m_startTime
;
151
Time
m_stopTime
;
152
EventId
m_startEvent
;
153
EventId
m_stopEvent
;
154
};
155
156
}
// namespace ns3
157
158
#endif
/* APPLICATION_H */
ns3::Address
a polymophic address class
Definition:
address.h:101
ns3::Application
The base class for all ns3 applications.
Definition:
application.h:62
ns3::Application::m_startEvent
EventId m_startEvent
The event that will fire at m_startTime to start the application.
Definition:
application.h:152
ns3::Application::DoInitialize
void DoInitialize() override
Initialize() implementation.
Definition:
application.cc:96
ns3::Application::SetNode
void SetNode(Ptr< Node > node)
Definition:
application.cc:115
ns3::Application::DoDispose
void DoDispose() override
Destructor implementation.
Definition:
application.cc:86
ns3::Application::m_startTime
Time m_startTime
The simulation time that the application will start.
Definition:
application.h:150
ns3::Application::m_stopTime
Time m_stopTime
The simulation time that the application will end.
Definition:
application.h:151
ns3::Application::~Application
~Application() override
Definition:
application.cc:66
ns3::Application::SetStopTime
void SetStopTime(Time stop)
Specify application stop time.
Definition:
application.cc:79
ns3::Application::StopApplication
virtual void StopApplication()
Application specific shutdown code.
Definition:
application.cc:130
ns3::Application::StartApplication
virtual void StartApplication()
Application specific startup code.
Definition:
application.cc:124
ns3::Application::SetStartTime
void SetStartTime(Time start)
Specify application start time.
Definition:
application.cc:72
ns3::Application::DelayAddressCallback
void(* DelayAddressCallback)(const Time &delay, const Address &from)
Common callback signature for packet delay and address.
Definition:
application.h:115
ns3::Application::m_stopEvent
EventId m_stopEvent
The event that will fire at m_stopTime to end the application.
Definition:
application.h:153
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:123
ns3::Application::Application
Application()
Definition:
application.cc:60
ns3::Application::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
application.cc:41
ns3::Application::GetNode
Ptr< Node > GetNode() const
Definition:
application.cc:108
ns3::Application::m_node
Ptr< Node > m_node
The node that this application is installed on.
Definition:
application.h:149
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< Node >
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.
two-ray-to-three-gpp-ch-calibration.start
start
Definition:
two-ray-to-three-gpp-ch-calibration.py:520
two-ray-to-three-gpp-ch-calibration.stop
stop
Definition:
two-ray-to-three-gpp-ch-calibration.py:520
node.h
src
network
model
application.h
Generated on Sun Mar 3 2024 17:11:05 for ns-3 by
1.9.1