A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
system-wall-clock-ms.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2005 INRIA
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 * Author: Mathieu Lacage <mathieu.lacage.inria.fr>
18 */
19
20#ifndef SYSTEM_WALL_CLOCK_MS_H
21#define SYSTEM_WALL_CLOCK_MS_H
22
23#include <stdint.h>
24
25/**
26 * \file
27 * \ingroup system
28 * ns3::SystemWallClockMs declaration.
29 */
30
31namespace ns3
32{
33
34/**
35 * \ingroup system
36 * \brief Measure elapsed wall clock time in milliseconds.
37 */
39{
40 public:
43
44 /**
45 * Start a measure.
46 */
47 void Start();
48 /**
49 * \brief Stop measuring the time since Start() was called.
50 * \returns the measured elapsed wall clock time (in milliseconds) since
51 * Start() was invoked.
52 *
53 * It is possible to start a new measurement with Start() after
54 * this method returns.
55 *
56 * Returns \c int64_t to avoid dependency on \c clock_t in ns-3 code.
57 */
58 int64_t End();
59
60 /**
61 * \returns the measured elapsed wall clock time (in milliseconds) since
62 * Start() was invoked.
63 *
64 * Returns \c int64_t to avoid dependency on \c clock_t in ns-3 code.
65 */
66 int64_t GetElapsedReal() const;
67 /**
68 * \returns the measured elapsed 'user' wall clock time (in milliseconds)
69 * since Start() was invoked.
70 *
71 * Returns \c int64_t to avoid dependency on \c clock_t in ns-3 code.
72 */
73 int64_t GetElapsedUser() const;
74 /**
75 * \returns the measured elapsed 'system' wall clock time (in milliseconds)
76 * since Start() was invoked.
77 *
78 * Returns \c int64_t to avoid dependency on \c clock_t in ns-3 code.
79 */
80 int64_t GetElapsedSystem() const;
81
82 private:
83 class SystemWallClockMsPrivate* m_priv; //!< The implementation.
84};
85
86} // namespace ns3
87
88#endif /* SYSTEM_WALL_CLOCK_MS_H */
Measure elapsed wall clock time in milliseconds.
class SystemWallClockMsPrivate * m_priv
The implementation.
int64_t End()
Stop measuring the time since Start() was called.
void Start()
Start a measure.
System-dependent implementation for SystemWallClockMs.
Every class exported by the ns3 library is enclosed in the ns3 namespace.