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
src
applications
model
ping6.h
Generated on Fri Dec 21 2012 19:00:31 for ns-3 by
1.8.1.2