A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
core.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2017 Peter D. Barnes, Jr.
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Authors:
7 * Tom Henderson <tomh@tomh.org>
8 * Mitch Watrous <watrous@u.washington.edu>
9 * Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
10 * Peter D. Barnes, Jr. <pdbarnes\llnl.gov>
11 */
12
13/**
14 * \file
15 * \ingroup core
16 * This file provides some doxygen documentation for the core module.
17 */
18
19/**
20 * \defgroup core Core
21 * \brief The "core" module contains:
22 * - a time management class to hold a time and convert between various
23 * time units: ns3::Time
24 * - a scheduler base class used to implement new simulation event
25 * schedulers:
26 * ns3::Scheduler and ns3::SchedulerFactory
27 * - a simulator class used to create, schedule and cancel events:
28 * ns3::Simulator
29 * - a Functor class: ns3::Callback
30 * - an os-independent interface to get access to the elapsed wall clock
31 * time: ns3::SystemWallClockMs
32 * - a class to register regression tests with the test manager: ns3::Test
33 * and ns3::TestManager
34 * - debugging facilities: \ref debugging
35 * - \ref randomvariable
36 * - a base class for objects which need to support per-instance
37 * "attributes" and trace sources: ns3::ObjectBase
38 * - a base class for objects which need to support reference counting
39 * and dynamic object aggregation: ns3::Object
40 * - a smart-pointer class ns3::Ptr designed to work together with
41 * ns3::Object
42 * - a configuration class used to set and control all attributes and
43 * trace sources in a simulation: ns3::Config.
44 *
45 * \todo Move all Private and Impl classes to namespace ns3::impl?
46 */
47
48/**
49 * \ingroup core
50 * \defgroup debugging Debugging tools
51 *
52 * Assertions, breakpoints, logging, and abnormal program termination
53 */
54
55/**
56 * \ingroup core
57 * \defgroup core-examples Core module examples
58 * Programs which illustrate use of core module functionality.
59 */
60
61/**
62 * \ingroup core
63 * \defgroup core-helpers Core module helper classes
64 * Helper classes for the Core module
65 */
66
67/**
68 * \ingroup tests
69 * \ingroup core
70 * \defgroup core-tests Core module tests
71 * TestSuites for the Core module
72 */
73
74/**
75 * \ingroup core
76 * \defgroup system System Services
77 *
78 * System-independent interfaces to operating system services:
79 * environment variables, files system, threading, wall clock time.
80 *
81 * Services provided:
82 *
83 * - Environment variables
84 * - File and directory paths.
85 * - Thread primitives: threads, conditional waits, mutex, critical sections.
86 * - Asynchronous input from a file descriptor.
87 * - Wall clock time.
88 */