A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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
45
class
Ping6
:
public
Application
46
{
47
public
:
52
static
TypeId
GetTypeId
();
53
57
Ping6
();
58
62
virtual
~Ping6
();
63
68
void
SetLocal
(
Ipv6Address
ipv6);
69
74
void
SetRemote
(
Ipv6Address
ipv6);
75
82
void
SetIfIndex
(uint32_t ifIndex);
83
88
void
SetRouters
(std::vector<Ipv6Address> routers);
89
90
protected
:
94
virtual
void
DoDispose
();
95
96
private
:
100
virtual
void
StartApplication
();
101
105
virtual
void
StopApplication
();
106
111
void
ScheduleTransmit
(
Time
dt);
112
116
void
Send
();
117
122
void
HandleRead
(
Ptr<Socket>
socket);
123
127
Ipv6Address
m_address
;
128
132
uint32_t
m_count
;
133
137
uint32_t
m_sent
;
138
142
uint32_t
m_size
;
143
147
Time
m_interval
;
148
152
Ipv6Address
m_localAddress
;
153
157
Ipv6Address
m_peerAddress
;
158
162
Ptr<Socket>
m_socket
;
163
167
uint16_t
m_seq
;
168
172
EventId
m_sendEvent
;
173
177
uint32_t
m_ifIndex
;
178
182
std::vector<Ipv6Address>
m_routers
;
183
};
184
185
}
/* namespace ns3 */
186
187
#endif
/* PING6_H */
188
ns3::Ping6::~Ping6
virtual ~Ping6()
Destructor.
Definition:
ping6.cc:90
ns3::Time
keep track of time values and allow control of global simulation resolution
Definition:
nstime.h:81
ns3::Ptr< Socket >
ns3::Ping6::StopApplication
virtual void StopApplication()
Stop the application.
Definition:
ping6.cc:134
ns3::Ping6::SetRouters
void SetRouters(std::vector< Ipv6Address > routers)
Set routers for routing type 0 (loose routing).
Definition:
ping6.cc:157
ns3::Ping6::m_interval
Time m_interval
Intervall between packets sent.
Definition:
ping6.h:147
ns3::Ping6::Send
void Send()
Send a packet.
Definition:
ping6.cc:162
ns3::Ping6::SetIfIndex
void SetIfIndex(uint32_t ifIndex)
Set the out interface index.
Definition:
ping6.cc:146
ns3::Application
The base class for all ns3 applications.
Definition:
application.h:61
ns3::Ping6::m_sent
uint32_t m_sent
Number of packets sent.
Definition:
ping6.h:137
ns3::Ping6::StartApplication
virtual void StartApplication()
Start the application.
Definition:
ping6.cc:102
ns3::Ping6::m_routers
std::vector< Ipv6Address > m_routers
Routers addresses for routing type 0.
Definition:
ping6.h:182
ns3::Ping6
A ping6 application.
Definition:
ping6.h:45
ns3::Ping6::SetLocal
void SetLocal(Ipv6Address ipv6)
Set the local address.
Definition:
ping6.cc:122
ns3::Ping6::m_size
uint32_t m_size
Size of the packet.
Definition:
ping6.h:142
ns3::Ping6::m_socket
Ptr< Socket > m_socket
Local socket.
Definition:
ping6.h:162
ns3::Ping6::Ping6
Ping6()
Constructor.
Definition:
ping6.cc:81
ns3::Ipv6Address
Describes an IPv6 address.
Definition:
ipv6-address.h:46
ns3::Ping6::SetRemote
void SetRemote(Ipv6Address ipv6)
Set the remote peer.
Definition:
ping6.cc:128
ns3::EventId
an identifier for simulation events.
Definition:
event-id.h:46
ns3::Ping6::m_seq
uint16_t m_seq
Sequence number.
Definition:
ping6.h:167
ns3::Ping6::m_ifIndex
uint32_t m_ifIndex
Out interface (i.e.
Definition:
ping6.h:177
ns3::Ping6::m_localAddress
Ipv6Address m_localAddress
Local address.
Definition:
ping6.h:152
ns3::Ping6::ScheduleTransmit
void ScheduleTransmit(Time dt)
Schedule sending a packet.
Definition:
ping6.cc:151
ns3::Ping6::DoDispose
virtual void DoDispose()
Dispose this object;.
Definition:
ping6.cc:96
ns3::Ping6::m_address
Ipv6Address m_address
Peer IPv6 address.
Definition:
ping6.h:127
ns3::Ping6::m_sendEvent
EventId m_sendEvent
Event ID.
Definition:
ping6.h:172
ns3::Ping6::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
ping6.cc:47
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:49
ns3::Ping6::m_peerAddress
Ipv6Address m_peerAddress
Peer address.
Definition:
ping6.h:157
ns3::Ping6::HandleRead
void HandleRead(Ptr< Socket > socket)
Receive method.
Definition:
ping6.cc:239
ns3::Ping6::m_count
uint32_t m_count
Number of "Echo request" packets that will be sent.
Definition:
ping6.h:132
src
applications
model
ping6.h
Generated on Sat Apr 19 2014 14:06:50 for ns-3 by
1.8.6