author | Craig Dowell <craigdo@ee.washington.edu> |
Tue, 16 Dec 2008 12:36:50 -0800 | |
changeset 4026 | 58ae52c5845f |
parent 3821 | 9ea825f066a2 |
child 5330 | 2187778d6f54 |
child 5568 | 6e159c6c34bb |
permissions | -rw-r--r-- |
3821
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
1 |
#ifndef V4PING_H |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
2 |
#define V4PING_H |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
3 |
|
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
4 |
#include "ns3/application.h" |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
5 |
#include "ns3/traced-callback.h" |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
6 |
#include "ns3/nstime.h" |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
7 |
|
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
8 |
namespace ns3 { |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
9 |
|
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
10 |
class Socket; |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
11 |
|
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
12 |
class V4Ping : public Application |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
13 |
{ |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
14 |
public: |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
15 |
static TypeId GetTypeId (void); |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
16 |
|
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
17 |
V4Ping (); |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
18 |
virtual ~V4Ping (); |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
19 |
|
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
20 |
private: |
4026
58ae52c5845f
bug 448: V4Ping Application Sends uint32_t Data in Host Order
Craig Dowell <craigdo@ee.washington.edu>
parents:
3821
diff
changeset
|
21 |
void Write32 (uint8_t *buffer, uint32_t data); |
58ae52c5845f
bug 448: V4Ping Application Sends uint32_t Data in Host Order
Craig Dowell <craigdo@ee.washington.edu>
parents:
3821
diff
changeset
|
22 |
|
3821
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
23 |
// inherited from Application base class. |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
24 |
virtual void StartApplication (void); |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
25 |
virtual void StopApplication (void); |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
26 |
virtual void DoDispose (void); |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
27 |
uint32_t GetApplicationId (void) const; |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
28 |
void Receive (Ptr<Socket> socket); |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
29 |
|
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
30 |
Ipv4Address m_remote; |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
31 |
Ptr<Socket> m_socket; |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
32 |
uint16_t m_seq; |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
33 |
TracedCallback<Time> m_traceRtt; |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
34 |
}; |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
35 |
|
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
36 |
} // namespace ns3 |
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
37 |
|
9ea825f066a2
Apply icmp-application patch frm lacage
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff
changeset
|
38 |
#endif /* V4PING_H */ |