A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
internet-trace-helper.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2010 University of Washington
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
18#ifndef INTERNET_TRACE_HELPER_H
19#define INTERNET_TRACE_HELPER_H
20
21#include "ns3/assert.h"
22#include "ns3/ipv4-interface-container.h"
23#include "ns3/ipv4.h"
24#include "ns3/ipv6-interface-container.h"
25#include "ns3/ipv6.h"
26#include "ns3/trace-helper.h"
27
28namespace ns3
29{
30
38{
39 public:
44 {
45 }
46
51 {
52 }
53
62 virtual void EnablePcapIpv4Internal(std::string prefix,
63 Ptr<Ipv4> ipv4,
64 uint32_t interface,
65 bool explicitFilename) = 0;
66
75 void EnablePcapIpv4(std::string prefix,
76 Ptr<Ipv4> ipv4,
77 uint32_t interface,
78 bool explicitFilename = false);
79
89 void EnablePcapIpv4(std::string prefix,
90 std::string ipv4Name,
91 uint32_t interface,
92 bool explicitFilename = false);
93
100 void EnablePcapIpv4(std::string prefix, Ipv4InterfaceContainer c);
101
109 void EnablePcapIpv4(std::string prefix, NodeContainer n);
110
122 void EnablePcapIpv4(std::string prefix,
123 uint32_t nodeid,
124 uint32_t interface,
125 bool explicitFilename);
126
133 void EnablePcapIpv4All(std::string prefix);
134};
135
143{
144 public:
149 {
150 }
151
156 {
157 }
158
184 std::string prefix,
185 Ptr<Ipv4> ipv4,
186 uint32_t interface,
187 bool explicitFilename) = 0;
188
197 void EnableAsciiIpv4(std::string prefix,
198 Ptr<Ipv4> ipv4,
199 uint32_t interface,
200 bool explicitFilename = false);
201
210 void EnableAsciiIpv4(Ptr<OutputStreamWrapper> stream, Ptr<Ipv4> ipv4, uint32_t interface);
211
221 void EnableAsciiIpv4(std::string prefix,
222 std::string ipv4Name,
223 uint32_t interface,
224 bool explicitFilename = false);
225
235 void EnableAsciiIpv4(Ptr<OutputStreamWrapper> stream, std::string ipv4Name, uint32_t interface);
236
245 void EnableAsciiIpv4(std::string prefix, Ipv4InterfaceContainer c);
246
257
265 void EnableAsciiIpv4(std::string prefix, NodeContainer n);
266
276
283 void EnableAsciiIpv4All(std::string prefix);
284
293
307 void EnableAsciiIpv4(std::string prefix,
308 uint32_t nodeid,
309 uint32_t deviceid,
310 bool explicitFilename);
311
326 uint32_t nodeid,
327 uint32_t interface,
328 bool explicitFilename);
329
330 private:
347 std::string prefix,
348 uint32_t nodeid,
349 uint32_t interface,
350 bool explicitFilename);
351
363 void EnableAsciiIpv4Impl(Ptr<OutputStreamWrapper> stream, std::string prefix, NodeContainer n);
364
377 std::string prefix,
379
395 std::string prefix,
396 std::string ipv4Name,
397 uint32_t interface,
398 bool explicitFilename);
399
415 std::string prefix,
416 Ptr<Ipv4> ipv4,
417 uint32_t interface,
418 bool explicitFilename);
419};
420
428{
429 public:
434 {
435 }
436
441 {
442 }
443
452 virtual void EnablePcapIpv6Internal(std::string prefix,
453 Ptr<Ipv6> ipv6,
454 uint32_t interface,
455 bool explicitFilename) = 0;
456
465 void EnablePcapIpv6(std::string prefix,
466 Ptr<Ipv6> ipv6,
467 uint32_t interface,
468 bool explicitFilename = false);
469
479 void EnablePcapIpv6(std::string prefix,
480 std::string ipv6Name,
481 uint32_t interface,
482 bool explicitFilename = false);
483
490 void EnablePcapIpv6(std::string prefix, Ipv6InterfaceContainer c);
491
499 void EnablePcapIpv6(std::string prefix, NodeContainer n);
500
512 void EnablePcapIpv6(std::string prefix,
513 uint32_t nodeid,
514 uint32_t interface,
515 bool explicitFilename);
516
523 void EnablePcapIpv6All(std::string prefix);
524};
525
533{
534 public:
539 {
540 }
541
546 {
547 }
548
574 std::string prefix,
575 Ptr<Ipv6> ipv6,
576 uint32_t interface,
577 bool explicitFilename) = 0;
578
587 void EnableAsciiIpv6(std::string prefix,
588 Ptr<Ipv6> ipv6,
589 uint32_t interface,
590 bool explicitFilename = false);
591
600 void EnableAsciiIpv6(Ptr<OutputStreamWrapper> stream, Ptr<Ipv6> ipv6, uint32_t interface);
601
611 void EnableAsciiIpv6(std::string prefix,
612 std::string ipv6Name,
613 uint32_t interface,
614 bool explicitFilename = false);
615
625 void EnableAsciiIpv6(Ptr<OutputStreamWrapper> stream, std::string ipv6Name, uint32_t interface);
626
635 void EnableAsciiIpv6(std::string prefix, Ipv6InterfaceContainer c);
636
647
655 void EnableAsciiIpv6(std::string prefix, NodeContainer n);
656
666
680 void EnableAsciiIpv6(std::string prefix,
681 uint32_t nodeid,
682 uint32_t interface,
683 bool explicitFilename);
684
697 void EnableAsciiIpv6(Ptr<OutputStreamWrapper> stream, uint32_t nodeid, uint32_t interface);
698
705 void EnableAsciiIpv6All(std::string prefix);
706
715
716 private:
733 std::string prefix,
734 uint32_t nodeid,
735 uint32_t interface,
736 bool explicitFilename);
737
749 void EnableAsciiIpv6Impl(Ptr<OutputStreamWrapper> stream, std::string prefix, NodeContainer n);
750
763 std::string prefix,
765
781 std::string prefix,
782 std::string ipv6Name,
783 uint32_t interface,
784 bool explicitFilename);
785
801 std::string prefix,
802 Ptr<Ipv6> ipv6,
803 uint32_t interface,
804 bool explicitFilename);
805};
806
807} // namespace ns3
808
809#endif /* INTERNET_TRACE_HELPER_H */
Base class providing common user-level ascii trace operations for helpers representing IPv4 protocols...
void EnableAsciiIpv4Impl(Ptr< OutputStreamWrapper > stream, std::string prefix, uint32_t nodeid, uint32_t interface, bool explicitFilename)
Enable ascii trace output on the Ipv4 and interface pair specified by a global node-id (of a previous...
virtual ~AsciiTraceHelperForIpv4()
Destroy an AsciiTraceHelperForIpv4.
void EnableAsciiIpv4Impl(Ptr< OutputStreamWrapper > stream, std::string prefix, Ptr< Ipv4 > ipv4, uint32_t interface, bool explicitFilename)
Enable ascii trace output on the Ipv4 and interface pair specified by a global node-id (of a previous...
AsciiTraceHelperForIpv4()
Construct an AsciiTraceHelperForIpv4.
void EnableAsciiIpv4All(std::string prefix)
Enable ascii trace output on all Ipv4 and interface pairs existing in the set of all nodes created in...
void EnableAsciiIpv4(std::string prefix, Ptr< Ipv4 > ipv4, uint32_t interface, bool explicitFilename=false)
Enable ascii trace output on the indicated Ipv4 and interface pair.
virtual void EnableAsciiIpv4Internal(Ptr< OutputStreamWrapper > stream, std::string prefix, Ptr< Ipv4 > ipv4, uint32_t interface, bool explicitFilename)=0
Enable ascii trace output on the indicated Ipv4 and interface pair.
Base class providing common user-level ascii trace operations for helpers representing IPv6 protocols...
void EnableAsciiIpv6All(std::string prefix)
Enable ascii trace output on all Ipv6 and interface pairs existing in the set of all nodes created in...
void EnableAsciiIpv6(std::string prefix, Ptr< Ipv6 > ipv6, uint32_t interface, bool explicitFilename=false)
Enable ascii trace output on the indicated Ipv6 and interface pair.
virtual void EnableAsciiIpv6Internal(Ptr< OutputStreamWrapper > stream, std::string prefix, Ptr< Ipv6 > ipv6, uint32_t interface, bool explicitFilename)=0
Enable ascii trace output on the indicated Ipv6 and interface pair.
AsciiTraceHelperForIpv6()
Construct an AsciiTraceHelperForIpv6.
virtual ~AsciiTraceHelperForIpv6()
Destroy an AsciiTraceHelperForIpv6.
void EnableAsciiIpv6Impl(Ptr< OutputStreamWrapper > stream, std::string prefix, uint32_t nodeid, uint32_t interface, bool explicitFilename)
Enable ascii trace output on the Ipv6 and interface pair specified by a global node-id (of a previous...
void EnableAsciiIpv6Impl(Ptr< OutputStreamWrapper > stream, std::string prefix, Ptr< Ipv6 > ipv6, uint32_t interface, bool explicitFilename)
Enable ascii trace output on the Ipv6 and interface pair specified by a global node-id (of a previous...
holds a vector of std::pair of Ptr<Ipv4> and interface index.
Keep track of a set of IPv6 interfaces.
keep track of a set of node pointers.
Base class providing common user-level pcap operations for helpers representing IPv4 protocols .
virtual void EnablePcapIpv4Internal(std::string prefix, Ptr< Ipv4 > ipv4, uint32_t interface, bool explicitFilename)=0
Enable pcap output the indicated Ipv4 and interface pair.
virtual ~PcapHelperForIpv4()
Destroy a PcapHelperForIpv4.
void EnablePcapIpv4(std::string prefix, Ptr< Ipv4 > ipv4, uint32_t interface, bool explicitFilename=false)
Enable pcap output the indicated Ipv4 and interface pair.
PcapHelperForIpv4()
Construct a PcapHelperForIpv4.
void EnablePcapIpv4All(std::string prefix)
Enable pcap output on all Ipv4 and interface pairs existing in the set of all nodes created in the si...
Base class providing common user-level pcap operations for helpers representing IPv6 protocols .
void EnablePcapIpv6All(std::string prefix)
Enable pcap output on all Ipv6 and interface pairs existing in the set of all nodes created in the si...
PcapHelperForIpv6()
Construct a PcapHelperForIpv6.
virtual ~PcapHelperForIpv6()
Destroy a PcapHelperForIpv6.
void EnablePcapIpv6(std::string prefix, Ptr< Ipv6 > ipv6, uint32_t interface, bool explicitFilename=false)
Enable pcap output the indicated Ipv6 and interface pair.
virtual void EnablePcapIpv6Internal(std::string prefix, Ptr< Ipv6 > ipv6, uint32_t interface, bool explicitFilename)=0
Enable pcap output the indicated Ipv6 and interface pair.
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:78
Every class exported by the ns3 library is enclosed in the ns3 namespace.