A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
src
internet-apps
model
ping6.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2007-2009 Strasbourg University
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: Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
19
*/
20
21
#ifndef PING6_H
22
#define PING6_H
23
24
#include "ns3/application.h"
25
#include "ns3/event-id.h"
26
#include "ns3/ptr.h"
27
#include "ns3/ipv6-address.h"
28
29
namespace
ns3
30
{
31
32
class
Packet;
33
class
Socket;
34
44
class
Ping6
:
public
Application
45
{
46
public
:
51
static
TypeId
GetTypeId
();
52
56
Ping6
();
57
61
virtual
~Ping6
();
62
67
void
SetLocal
(
Ipv6Address
ipv6);
68
73
void
SetRemote
(
Ipv6Address
ipv6);
74
81
void
SetIfIndex
(uint32_t ifIndex);
82
87
void
SetRouters
(std::vector<Ipv6Address> routers);
88
89
protected
:
93
virtual
void
DoDispose
();
94
95
private
:
99
virtual
void
StartApplication
();
100
104
virtual
void
StopApplication
();
105
110
void
ScheduleTransmit
(
Time
dt);
111
115
void
Send
();
116
121
void
HandleRead
(
Ptr<Socket>
socket);
122
126
Ipv6Address
m_address
;
127
131
uint32_t
m_count
;
132
136
uint32_t
m_sent
;
137
141
uint32_t
m_size
;
142
146
Time
m_interval
;
147
151
Ipv6Address
m_localAddress
;
152
156
Ipv6Address
m_peerAddress
;
157
161
Ptr<Socket>
m_socket
;
162
166
uint16_t
m_seq
;
167
171
EventId
m_sendEvent
;
172
176
uint32_t
m_ifIndex
;
177
181
std::vector<Ipv6Address>
m_routers
;
182
};
183
184
}
/* namespace ns3 */
185
186
#endif
/* PING6_H */
187
ns3::Ping6::~Ping6
virtual ~Ping6()
Destructor.
Definition:
ping6.cc:89
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition:
nstime.h:102
ns3::Ptr< Socket >
ns3::Ping6::StopApplication
virtual void StopApplication()
Stop the application.
Definition:
ping6.cc:132
ns3::Ping6::SetRouters
void SetRouters(std::vector< Ipv6Address > routers)
Set routers for routing type 0 (loose routing).
Definition:
ping6.cc:155
ns3::Ping6::m_interval
Time m_interval
Intervall between packets sent.
Definition:
ping6.h:146
ns3::Ping6::Send
void Send()
Send a packet.
Definition:
ping6.cc:160
ns3::Ping6::SetIfIndex
void SetIfIndex(uint32_t ifIndex)
Set the out interface index.
Definition:
ping6.cc:144
ns3::Application
The base class for all ns3 applications.
Definition:
application.h:60
ns3::Ping6::m_sent
uint32_t m_sent
Number of packets sent.
Definition:
ping6.h:136
ns3::Ping6::StartApplication
virtual void StartApplication()
Start the application.
Definition:
ping6.cc:101
ns3::Ping6::m_routers
std::vector< Ipv6Address > m_routers
Routers addresses for routing type 0.
Definition:
ping6.h:181
ns3::Ping6
A ping6 application.
Definition:
ping6.h:44
ns3::Ping6::SetLocal
void SetLocal(Ipv6Address ipv6)
Set the local address.
Definition:
ping6.cc:120
ns3::Ping6::m_size
uint32_t m_size
Size of the packet.
Definition:
ping6.h:141
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::Ping6::m_socket
Ptr< Socket > m_socket
Local socket.
Definition:
ping6.h:161
ns3::Ping6::Ping6
Ping6()
Constructor.
Definition:
ping6.cc:80
ns3::Ipv6Address
Describes an IPv6 address.
Definition:
ipv6-address.h:49
ns3::Ping6::SetRemote
void SetRemote(Ipv6Address ipv6)
Set the remote peer.
Definition:
ping6.cc:126
ns3::EventId
An identifier for simulation events.
Definition:
event-id.h:53
ns3::Ping6::m_seq
uint16_t m_seq
Sequence number.
Definition:
ping6.h:166
ns3::Ping6::m_ifIndex
uint32_t m_ifIndex
Out interface (i.e.
Definition:
ping6.h:176
ns3::Ping6::m_localAddress
Ipv6Address m_localAddress
Local address.
Definition:
ping6.h:151
ns3::Ping6::ScheduleTransmit
void ScheduleTransmit(Time dt)
Schedule sending a packet.
Definition:
ping6.cc:149
ns3::Ping6::DoDispose
virtual void DoDispose()
Dispose this object;.
Definition:
ping6.cc:95
ns3::Ping6::m_address
Ipv6Address m_address
Peer IPv6 address.
Definition:
ping6.h:126
ns3::Ping6::m_sendEvent
EventId m_sendEvent
Event ID.
Definition:
ping6.h:171
ns3::Ping6::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
ping6.cc:45
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:58
ns3::Ping6::m_peerAddress
Ipv6Address m_peerAddress
Peer address.
Definition:
ping6.h:156
ns3::Ping6::HandleRead
void HandleRead(Ptr< Socket > socket)
Receive method.
Definition:
ping6.cc:243
ns3::Ping6::m_count
uint32_t m_count
Number of "Echo request" packets that will be sent.
Definition:
ping6.h:131
Generated on Wed Nov 7 2018 10:01:53 for ns-3 by
1.8.14