doc: Fix rendering issues due to excessive indentation
This commit is contained in:
@@ -80,11 +80,11 @@ merging of your code.
|
||||
|
||||
In brief, we can summarize the guidelines as follows:
|
||||
|
||||
1. Be licensed appropriately (see :ref:`General`)
|
||||
2. Understand how and why |ns3| conducts code reviews before merging
|
||||
3. Follow the ns-3 coding style (:ref:`Coding style`) and software
|
||||
engineering and consistency feedback that maintainers may provide
|
||||
4. Write associated documentation, tests, and example programs
|
||||
1. Be licensed appropriately (see :ref:`General`)
|
||||
2. Understand how and why |ns3| conducts code reviews before merging
|
||||
3. Follow the ns-3 coding style (:ref:`Coding style`) and software
|
||||
engineering and consistency feedback that maintainers may provide
|
||||
4. Write associated documentation, tests, and example programs
|
||||
|
||||
If you do not have the time to follow through the process to include your
|
||||
code in the main tree, please see the next chapter (:ref:`External`)
|
||||
|
||||
@@ -24,15 +24,15 @@ Requirements
|
||||
The minimum supported version of Ubuntu is Ubuntu 18.04 LTS (as long as a modern compiler
|
||||
version such as g++ version 9 or later is added).
|
||||
|
||||
+--------------------+---------------------------------------------------------------------+
|
||||
| **ns-3 Version** | **apt Packages** |
|
||||
+====================+==================+==================================================+
|
||||
| 3.36 and later | ``g++ python3 cmake ninja-build git`` |
|
||||
+--------------------+---------------------------------------------------------------------+
|
||||
| 3.30-3.35 | ``g++ python3 git`` |
|
||||
+--------------------+---------------------------------------------------------------------+
|
||||
| 3.29 and earlier | ``g++ python2`` |
|
||||
+--------------------+---------------------------------------------------------------------+
|
||||
+--------------------+---------------------------------------------------------------------+
|
||||
| **ns-3 Version** | **apt Packages** |
|
||||
+====================+==================+==================================================+
|
||||
| 3.36 and later | ``g++ python3 cmake ninja-build git`` |
|
||||
+--------------------+---------------------------------------------------------------------+
|
||||
| 3.30-3.35 | ``g++ python3 git`` |
|
||||
+--------------------+---------------------------------------------------------------------+
|
||||
| 3.29 and earlier | ``g++ python2`` |
|
||||
+--------------------+---------------------------------------------------------------------+
|
||||
|
||||
.. note::
|
||||
As of July 2023 (ns-3.39 release and later), the minimum g++ version is g++-9.
|
||||
@@ -41,15 +41,15 @@ version such as g++ version 9 or later is added).
|
||||
Recommended
|
||||
***********
|
||||
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| **Feature** | **apt Packages** |
|
||||
+=============================+============================================================+
|
||||
| Compiler cache optimization | ``ccache`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Code linting | ``clang-format clang-tidy`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Debugging | ``gdb valgrind`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| **Feature** | **apt Packages** |
|
||||
+=============================+============================================================+
|
||||
| Compiler cache optimization | ``ccache`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Code linting | ``clang-format clang-tidy`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Debugging | ``gdb valgrind`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
|
||||
.. note::
|
||||
For Ubuntu 20.04 release and earlier, the version of ccache provided by apt
|
||||
@@ -65,37 +65,37 @@ Optional
|
||||
|
||||
Please see below subsections for Python-related package requirements.
|
||||
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| **Feature** | **apt Packages** |
|
||||
+=============================+============================================================+
|
||||
| Reading pcap traces | ``tcpdump wireshark`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Database support | ``sqlite sqlite3 libsqlite3-dev`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| NetAnim animator | ``qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| MPI-based distributed | |
|
||||
| simulation | ``openmpi-bin openmpi-common openmpi-doc libopenmpi-dev`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Building Doxygen | ``doxygen graphviz imagemagick`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Sphinx documentation | ``python3-sphinx dia imagemagick texlive dvipng latexmk`` |
|
||||
| | ``texlive-extra-utils texlive-latex-extra`` |
|
||||
| | ``texlive-font-utils`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Eigen3 | ``libeigen3-dev`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| GNU Scientific Library | ``gsl-bin libgsl-dev libgslcblas0`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| XML config store | ``libxml2 libxml2-dev`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| GTK-based config store | ``libgtk-3-dev`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Emulation with virtual | |
|
||||
| machines and tap bridge | ``lxc-utils lxc-templates iproute2 iptables`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Support for openflow | ``libxml2 libxml2-dev libboost-all-dev`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| **Feature** | **apt Packages** |
|
||||
+=============================+============================================================+
|
||||
| Reading pcap traces | ``tcpdump wireshark`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Database support | ``sqlite sqlite3 libsqlite3-dev`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| NetAnim animator | ``qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| MPI-based distributed | |
|
||||
| simulation | ``openmpi-bin openmpi-common openmpi-doc libopenmpi-dev`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Building Doxygen | ``doxygen graphviz imagemagick`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Sphinx documentation | ``python3-sphinx dia imagemagick texlive dvipng latexmk`` |
|
||||
| | ``texlive-extra-utils texlive-latex-extra`` |
|
||||
| | ``texlive-font-utils`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Eigen3 | ``libeigen3-dev`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| GNU Scientific Library | ``gsl-bin libgsl-dev libgslcblas0`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| XML config store | ``libxml2 libxml2-dev`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| GTK-based config store | ``libgtk-3-dev`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Emulation with virtual | |
|
||||
| machines and tap bridge | ``lxc-utils lxc-templates iproute2 iptables`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
| Support for openflow | ``libxml2 libxml2-dev libboost-all-dev`` |
|
||||
+-----------------------------+------------------------------------------------------------+
|
||||
|
||||
.. note::
|
||||
For Ubuntu 20.10 and earlier, the single 'qt5-default' package suffices for NetAnim (``apt install qt5-default``)
|
||||
|
||||
@@ -52,13 +52,13 @@ to install ``g++``.
|
||||
|
||||
The following table provides package names for installing CMake and Ninja build system from Homebrew or MacPorts.
|
||||
|
||||
+--------------------+-------------------------------+-------------------------------------+
|
||||
| **ns-3 Version** | **Homebrew packages** | **MacPorts packages** |
|
||||
+====================+===============================+=====================================+
|
||||
| 3.36 and later | ``cmake ninja`` | ``cmake ninja`` |
|
||||
+--------------------+-------------------------------+-------------------------------------+
|
||||
| 3.35 and earlier | None | None |
|
||||
+--------------------+-------------------------------+-------------------------------------+
|
||||
+--------------------+-------------------------------+-------------------------------------+
|
||||
| **ns-3 Version** | **Homebrew packages** | **MacPorts packages** |
|
||||
+====================+===============================+=====================================+
|
||||
| 3.36 and later | ``cmake ninja`` | ``cmake ninja`` |
|
||||
+--------------------+-------------------------------+-------------------------------------+
|
||||
| 3.35 and earlier | None | None |
|
||||
+--------------------+-------------------------------+-------------------------------------+
|
||||
|
||||
You will know you are done when you can successfully type `clang++ -v` at the command line, and when you type `cmake --help` and it identifies that you have at least one installed generator (in the below example, Unix Makefiles):
|
||||
|
||||
@@ -75,15 +75,15 @@ You will know you are done when you can successfully type `clang++ -v` at the co
|
||||
Recommended
|
||||
***********
|
||||
|
||||
+-----------------------------+----------------------------+-----------------------------------+
|
||||
| **Feature** | **Homebrew packages** | **MacPorts packages** |
|
||||
+=============================+============================+===================================+
|
||||
| Compiler cache optimization | ``ccache`` | ``ccache`` |
|
||||
+-----------------------------+----------------------------+-----------------------------------+
|
||||
| Code linting | clang-format included with | clang-format included with |
|
||||
| | ``llvm``, need to select | ``clang``, need to select |
|
||||
| | ``llvm@XX`` version | ``clang-XX llvm-XX`` versions |
|
||||
+-----------------------------+----------------------------+-----------------------------------+
|
||||
+-----------------------------+----------------------------+-----------------------------------+
|
||||
| **Feature** | **Homebrew packages** | **MacPorts packages** |
|
||||
+=============================+============================+===================================+
|
||||
| Compiler cache optimization | ``ccache`` | ``ccache`` |
|
||||
+-----------------------------+----------------------------+-----------------------------------+
|
||||
| Code linting | clang-format included with | clang-format included with |
|
||||
| | ``llvm``, need to select | ``clang``, need to select |
|
||||
| | ``llvm@XX`` version | ``clang-XX llvm-XX`` versions |
|
||||
+-----------------------------+----------------------------+-----------------------------------+
|
||||
|
||||
.. note::
|
||||
|
||||
@@ -120,42 +120,42 @@ Please see below subsections for Python-related package requirements.
|
||||
|
||||
For MacPorts packages we show the most recent package version available as of early 2023.
|
||||
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| **Feature** | **Homebrew packages** | **MacPort packages** |
|
||||
+=============================+==================================+==========================+
|
||||
| Reading pcap traces | ``wireshark`` | ``wireshark4`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| Database support | ``sqlite`` | ``sqlite3`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| NetAnim animator | ``qt@5`` | ``qt513`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| MPI-based distributed | | ``openmpi`` |
|
||||
| simulation | ``open-mpi`` | |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| Building Doxygen | ``doxygen graphviz imagemagick`` | ``doxygen graphviz`` |
|
||||
| | | ``ImageMagick`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| Sphinx documentation | ``sphinx-doc texlive`` | ``dia texlive`` |
|
||||
| | | ``texlive-fonts-extra`` |
|
||||
| | | ``texlive-latex-extra`` |
|
||||
| | | ``py3XX-sphinx``, with |
|
||||
| | | `XX`` the Python minor |
|
||||
| | | version such as `12` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| Eigen3 | ``eigen`` | ``eigen3`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| GNU Scientific Library | ``gsl`` | ``gsl`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| XML config store | ``libxml2`` | ``libxml2`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| GTK-based config store | ``gtk+3`` | ``gtk3`` or ``gtk4`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| Emulation with virtual | | |
|
||||
| machines | Not available for macOS | Not available for macOS |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| Support for openflow, | ``boost`` | ``boost`` |
|
||||
| CircularApertureAntennaModel| | |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| **Feature** | **Homebrew packages** | **MacPort packages** |
|
||||
+=============================+==================================+==========================+
|
||||
| Reading pcap traces | ``wireshark`` | ``wireshark4`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| Database support | ``sqlite`` | ``sqlite3`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| NetAnim animator | ``qt@5`` | ``qt513`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| MPI-based distributed | | ``openmpi`` |
|
||||
| simulation | ``open-mpi`` | |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| Building Doxygen | ``doxygen graphviz imagemagick`` | ``doxygen graphviz`` |
|
||||
| | | ``ImageMagick`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| Sphinx documentation | ``sphinx-doc texlive`` | ``dia texlive`` |
|
||||
| | | ``texlive-fonts-extra`` |
|
||||
| | | ``texlive-latex-extra`` |
|
||||
| | | ``py3XX-sphinx``, with |
|
||||
| | | `XX`` the Python minor |
|
||||
| | | version such as `12` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| Eigen3 | ``eigen`` | ``eigen3`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| GNU Scientific Library | ``gsl`` | ``gsl`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| XML config store | ``libxml2`` | ``libxml2`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| GTK-based config store | ``gtk+3`` | ``gtk3`` or ``gtk4`` |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| Emulation with virtual | | |
|
||||
| machines | Not available for macOS | Not available for macOS |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
| Support for openflow, | ``boost`` | ``boost`` |
|
||||
| CircularApertureAntennaModel| | |
|
||||
+-----------------------------+----------------------------------+--------------------------+
|
||||
|
||||
Caveats and troubleshooting
|
||||
***************************
|
||||
|
||||
@@ -34,25 +34,25 @@ Prerequisites
|
||||
Make sure that your system has these prerequisites. Download can be via either ``git`` or via
|
||||
source archive download (via a web browser, ``wget``, or ``curl``).
|
||||
|
||||
+--------------------+--------------------------------------+------------------------------+
|
||||
| **Purpose** | **Tool** | **Minimum Version** |
|
||||
+====================+==================+===================+==============================+
|
||||
| **Download** | ``git`` (for Git download) | No minimum version |
|
||||
+ + + +
|
||||
| | or ``tar`` and ``bunzip2`` | No minimum version |
|
||||
| | (for Web download) | |
|
||||
+--------------------+--------------------------------------+------------------------------+
|
||||
| **Compiler** | ``g++`` | >= 10 |
|
||||
+ + + +
|
||||
| | or ``clang++`` | >= 11 |
|
||||
+--------------------+--------------------------------------+------------------------------+
|
||||
| **Configuration** | ``python3`` | >= 3.8 |
|
||||
+--------------------+--------------------------------------+------------------------------+
|
||||
| **Build system** | ``cmake``, | >= 3.13 |
|
||||
+ + + +
|
||||
| | and at least one of: | No minimum version |
|
||||
| | ``make``, ``ninja``, or ``Xcode`` | |
|
||||
+--------------------+--------------------------------------+------------------------------+
|
||||
+--------------------+--------------------------------------+------------------------------+
|
||||
| **Purpose** | **Tool** | **Minimum Version** |
|
||||
+====================+==================+===================+==============================+
|
||||
| **Download** | ``git`` (for Git download) | No minimum version |
|
||||
+ + + +
|
||||
| | or ``tar`` and ``bunzip2`` | No minimum version |
|
||||
| | (for Web download) | |
|
||||
+--------------------+--------------------------------------+------------------------------+
|
||||
| **Compiler** | ``g++`` | >= 10 |
|
||||
+ + + +
|
||||
| | or ``clang++`` | >= 11 |
|
||||
+--------------------+--------------------------------------+------------------------------+
|
||||
| **Configuration** | ``python3`` | >= 3.8 |
|
||||
+--------------------+--------------------------------------+------------------------------+
|
||||
| **Build system** | ``cmake``, | >= 3.13 |
|
||||
+ + + +
|
||||
| | and at least one of: | No minimum version |
|
||||
| | ``make``, ``ninja``, or ``Xcode`` | |
|
||||
+--------------------+--------------------------------------+------------------------------+
|
||||
|
||||
.. note::
|
||||
|
||||
@@ -63,17 +63,17 @@ source archive download (via a web browser, ``wget``, or ``curl``).
|
||||
From the command line, you can check the version of each of the above tools with version
|
||||
requirements as follows:
|
||||
|
||||
+--------------------------------------+------------------------------------+
|
||||
| **Tool** | **Version check command** |
|
||||
+======================================+====================================+
|
||||
| ``g++`` | ``$ g++ --version`` |
|
||||
+--------------------------------------+------------------------------------+
|
||||
| ``clang++`` | ``$ clang++ --version`` |
|
||||
+--------------------------------------+------------------------------------+
|
||||
| ``python3`` | ``$ python3 -V`` |
|
||||
+--------------------------------------+------------------------------------+
|
||||
| ``cmake`` | ``$ cmake --version`` |
|
||||
+--------------------------------------+------------------------------------+
|
||||
+--------------------------------------+------------------------------------+
|
||||
| **Tool** | **Version check command** |
|
||||
+======================================+====================================+
|
||||
| ``g++`` | ``$ g++ --version`` |
|
||||
+--------------------------------------+------------------------------------+
|
||||
| ``clang++`` | ``$ clang++ --version`` |
|
||||
+--------------------------------------+------------------------------------+
|
||||
| ``python3`` | ``$ python3 -V`` |
|
||||
+--------------------------------------+------------------------------------+
|
||||
| ``cmake`` | ``$ cmake --version`` |
|
||||
+--------------------------------------+------------------------------------+
|
||||
|
||||
Download
|
||||
********
|
||||
|
||||
@@ -19,7 +19,10 @@ The list of requirements depends on which version of ns-3 you are trying to buil
|
||||
extensions you need.
|
||||
|
||||
.. note::
|
||||
**"Do I need to install all of these packages?"** Some users want to install everything so
|
||||
|
||||
**"Do I need to install all of these packages?"**
|
||||
|
||||
Some users want to install everything so
|
||||
that their configuration output shows that every feature is enabled. However, there is
|
||||
no real need to install prerequisites related to features you are not yet using; you can always
|
||||
come back later and install more prerequisites as needed. The build system should warn
|
||||
@@ -29,7 +32,10 @@ In the following, we have classified the prerequisites as either being required,
|
||||
for all users, or optional depending on use cases.
|
||||
|
||||
.. note::
|
||||
**"Is there a maintained list of all prerequisites?"** We use GitLab.com's continuous
|
||||
|
||||
**"Is there a maintained list of all prerequisites?"**
|
||||
|
||||
We use GitLab.com's continuous
|
||||
integration system for testing; the configuration YAML files for these jobs can be found
|
||||
in the directory ``utils/tests/``. So, for instance, if you want to look at what packages
|
||||
the CI is installing for Alpine Linux, look at ``utils/tests/gitlab-ci-alpine.yml``. The
|
||||
@@ -75,7 +81,7 @@ Recommended
|
||||
|
||||
The following are recommended for most users of |ns3|.
|
||||
|
||||
compiler cache optimization (for ns-3.37 and later)
|
||||
Compiler cache optimization (for ns-3.37 and later)
|
||||
===================================================
|
||||
|
||||
`Ccache <https://ccache.dev>`_ is a compiler cache optimization that will speed up builds across
|
||||
@@ -93,6 +99,7 @@ Users can invoke these tools directly from the command-line or through the
|
||||
Moreover, clang-tidy is integrated with CMake, enabling code scanning during the build phase.
|
||||
|
||||
.. note::
|
||||
|
||||
clang-format-14 through clang-format-16 version is required.
|
||||
|
||||
clang-format is strongly recommended to write code that follows the ns-3 code conventions, but
|
||||
@@ -118,6 +125,7 @@ Optional
|
||||
The remaining prerequisites listed below are only needed for optional ns-3 components.
|
||||
|
||||
.. note::
|
||||
|
||||
As of ns-3.30 release (August 2019), ns-3 uses Python 3 by default, but earlier
|
||||
releases depend on Python 2 packages, and at least a Python 2 interpreter is recommended.
|
||||
If installing the below prerequisites for an earlier release, one may in general substitute
|
||||
@@ -189,6 +197,7 @@ reStructuredText for Sphinx, and figures are typically in dia. To build PDF ver
|
||||
|
||||
Eigen3 support
|
||||
==============
|
||||
|
||||
`Eigen3 <https://gitlab.com/libeigen/eigen>`_ is used to support more efficient calculations
|
||||
when using the `3GPP propagation loss models <https://www.nsnam.org/docs//models/html/propagation.html#threegpppropagationlossmodel>`_
|
||||
in LTE and NR simulations.
|
||||
|
||||
@@ -18,6 +18,7 @@ via the Msys2/MinGW64 toolchain. Both options are listed below; users may choos
|
||||
either WSL or the Msys2/MinGW64 toolchain (installing both is not required).
|
||||
|
||||
.. note::
|
||||
|
||||
|ns3| is not fully compatible with Visual Studio IDE / MSVC compiler; only Visual Studio Code
|
||||
editor, the Msys2/MinGW64 toolchain, and WSL, as explained below.
|
||||
|
||||
|
||||
@@ -349,37 +349,37 @@ Supported Trace Types
|
||||
|
||||
The following traced values are supported with Probes as of this writing:
|
||||
|
||||
+------------------+-------------------+------------------------------------+
|
||||
| TracedValue type | Probe type | File |
|
||||
+==================+=========+=========+====================================+
|
||||
| double | DoubleProbe | stats/model/double-probe.h |
|
||||
+------------------+-------------------+------------------------------------+
|
||||
| uint8_t | Uinteger8Probe | stats/model/uinteger-8-probe.h |
|
||||
+------------------+-------------------+------------------------------------+
|
||||
| uint16_t | Uinteger16Probe | stats/model/uinteger-16-probe.h |
|
||||
+------------------+-------------------+------------------------------------+
|
||||
| uint32_t | Uinteger32Probe | stats/model/uinteger-32-probe.h |
|
||||
+------------------+-------------------+------------------------------------+
|
||||
| bool | BooleanProbe | stats/model/uinteger-16-probe.h |
|
||||
+------------------+-------------------+------------------------------------+
|
||||
| ns3::Time | TimeProbe | stats/model/time-probe.h |
|
||||
+------------------+-------------------+------------------------------------+
|
||||
+------------------+-------------------+------------------------------------+
|
||||
| TracedValue type | Probe type | File |
|
||||
+==================+=========+=========+====================================+
|
||||
| double | DoubleProbe | stats/model/double-probe.h |
|
||||
+------------------+-------------------+------------------------------------+
|
||||
| uint8_t | Uinteger8Probe | stats/model/uinteger-8-probe.h |
|
||||
+------------------+-------------------+------------------------------------+
|
||||
| uint16_t | Uinteger16Probe | stats/model/uinteger-16-probe.h |
|
||||
+------------------+-------------------+------------------------------------+
|
||||
| uint32_t | Uinteger32Probe | stats/model/uinteger-32-probe.h |
|
||||
+------------------+-------------------+------------------------------------+
|
||||
| bool | BooleanProbe | stats/model/uinteger-16-probe.h |
|
||||
+------------------+-------------------+------------------------------------+
|
||||
| ns3::Time | TimeProbe | stats/model/time-probe.h |
|
||||
+------------------+-------------------+------------------------------------+
|
||||
|
||||
The following TraceSource types are supported by Probes as of this writing:
|
||||
|
||||
+------------------------------------------+------------------------+---------------+----------------------------------------------------+
|
||||
| TracedSource type | Probe type | Probe outputs | File |
|
||||
+==========================================+========================+===============+====================================================+
|
||||
| Ptr<const Packet> | PacketProbe | OutputBytes | network/utils/packet-probe.h |
|
||||
+------------------------------------------+------------------------+---------------+----------------------------------------------------+
|
||||
| Ptr<const Packet>, Ptr<Ipv4>, uint32_t | Ipv4PacketProbe | OutputBytes | internet/model/ipv4-packet-probe.h |
|
||||
+------------------------------------------+------------------------+---------------+----------------------------------------------------+
|
||||
| Ptr<const Packet>, Ptr<Ipv6>, uint32_t | Ipv6PacketProbe | OutputBytes | internet/model/ipv6-packet-probe.h |
|
||||
+------------------------------------------+------------------------+---------------+----------------------------------------------------+
|
||||
| Ptr<const Packet>, Ptr<Ipv6>, uint32_t | Ipv6PacketProbe | OutputBytes | internet/model/ipv6-packet-probe.h |
|
||||
+------------------------------------------+------------------------+---------------+----------------------------------------------------+
|
||||
| Ptr<const Packet>, const Address& | ApplicationPacketProbe | OutputBytes | applications/model/application-packet-probe.h |
|
||||
+------------------------------------------+------------------------+---------------+----------------------------------------------------+
|
||||
+------------------------------------------+------------------------+---------------+----------------------------------------------------+
|
||||
| TracedSource type | Probe type | Probe outputs | File |
|
||||
+==========================================+========================+===============+====================================================+
|
||||
| Ptr<const Packet> | PacketProbe | OutputBytes | network/utils/packet-probe.h |
|
||||
+------------------------------------------+------------------------+---------------+----------------------------------------------------+
|
||||
| Ptr<const Packet>, Ptr<Ipv4>, uint32_t | Ipv4PacketProbe | OutputBytes | internet/model/ipv4-packet-probe.h |
|
||||
+------------------------------------------+------------------------+---------------+----------------------------------------------------+
|
||||
| Ptr<const Packet>, Ptr<Ipv6>, uint32_t | Ipv6PacketProbe | OutputBytes | internet/model/ipv6-packet-probe.h |
|
||||
+------------------------------------------+------------------------+---------------+----------------------------------------------------+
|
||||
| Ptr<const Packet>, Ptr<Ipv6>, uint32_t | Ipv6PacketProbe | OutputBytes | internet/model/ipv6-packet-probe.h |
|
||||
+------------------------------------------+------------------------+---------------+----------------------------------------------------+
|
||||
| Ptr<const Packet>, const Address& | ApplicationPacketProbe | OutputBytes | applications/model/application-packet-probe.h |
|
||||
+------------------------------------------+------------------------+---------------+----------------------------------------------------+
|
||||
|
||||
As can be seen, only a few trace sources are supported, and they are all
|
||||
oriented towards outputting the Packet size (in bytes). However,
|
||||
|
||||
@@ -452,7 +452,7 @@ Let's ignore the bit about context for now.
|
||||
|
||||
Finally, the line assigning a value to ``m_myInt``::
|
||||
|
||||
myObject->m_myInt = 1234;
|
||||
myObject->m_myInt = 1234;
|
||||
|
||||
should be interpreted as an invocation of ``operator=`` on the member
|
||||
variable ``m_myInt`` with the integer ``1234`` passed as a parameter.
|
||||
@@ -712,12 +712,12 @@ you select the "API Documentation" link, you will be taken to the
|
||||
|
||||
In the sidebar you should see a hierarchy that begins
|
||||
|
||||
* ns-3
|
||||
* ns-3
|
||||
|
||||
* ns-3 Documentation
|
||||
* All TraceSources
|
||||
* All Attributes
|
||||
* All GlobalValues
|
||||
* ns-3 Documentation
|
||||
* All TraceSources
|
||||
* All Attributes
|
||||
* All GlobalValues
|
||||
|
||||
The list of interest to us here is "All TraceSources". Go ahead and
|
||||
select that link. You will see, perhaps not too surprisingly, a list
|
||||
@@ -1168,23 +1168,23 @@ itself around, rather than passing the address of the object. We
|
||||
extend that requirement to include the full set of assignment-style
|
||||
operators that are pre-defined for plain-old-data (POD) types:
|
||||
|
||||
+---------------------+---------------------+
|
||||
| ``operator=`` (assignment) |
|
||||
+---------------------+---------------------+
|
||||
| ``operator*=`` | ``operator/=`` |
|
||||
+---------------------+---------------------+
|
||||
| ``operator+=`` | ``operator-=`` |
|
||||
+---------------------+---------------------+
|
||||
| ``operator++`` (both prefix and postfix) |
|
||||
+---------------------+---------------------+
|
||||
| ``operator--`` (both prefix and postfix) |
|
||||
+---------------------+---------------------+
|
||||
| ``operator<<=`` | ``operator>>=`` |
|
||||
+---------------------+---------------------+
|
||||
| ``operator&=`` | ``operator|=`` |
|
||||
+---------------------+---------------------+
|
||||
| ``operator%=`` | ``operator^=`` |
|
||||
+---------------------+---------------------+
|
||||
+---------------------+---------------------+
|
||||
| ``operator=`` (assignment) |
|
||||
+---------------------+---------------------+
|
||||
| ``operator*=`` | ``operator/=`` |
|
||||
+---------------------+---------------------+
|
||||
| ``operator+=`` | ``operator-=`` |
|
||||
+---------------------+---------------------+
|
||||
| ``operator++`` (both prefix and postfix) |
|
||||
+---------------------+---------------------+
|
||||
| ``operator--`` (both prefix and postfix) |
|
||||
+---------------------+---------------------+
|
||||
| ``operator<<=`` | ``operator>>=`` |
|
||||
+---------------------+---------------------+
|
||||
| ``operator&=`` | ``operator|=`` |
|
||||
+---------------------+---------------------+
|
||||
| ``operator%=`` | ``operator^=`` |
|
||||
+---------------------+---------------------+
|
||||
|
||||
What this all really means is that you will be able to trace all
|
||||
changes made using those operators to a C++ object which has value
|
||||
@@ -2424,13 +2424,13 @@ behaving identically, but we do strive to make them all work as
|
||||
similarly as possible; and whenever possible there are analogs for all
|
||||
methods in all classes.
|
||||
|
||||
+-----------------+---------+---------+
|
||||
| | PCAP | ASCII |
|
||||
+=================+=========+=========+
|
||||
| Device Helper | |check| | |check| |
|
||||
+-----------------+---------+---------+
|
||||
| Protocol Helper | |check| | |check| |
|
||||
+-----------------+---------+---------+
|
||||
+-----------------+---------+---------+
|
||||
| | PCAP | ASCII |
|
||||
+=================+=========+=========+
|
||||
| Device Helper | |check| | |check| |
|
||||
+-----------------+---------+---------+
|
||||
| Protocol Helper | |check| | |check| |
|
||||
+-----------------+---------+---------+
|
||||
|
||||
We use an approach called a ``mixin`` to add tracing functionality to
|
||||
our helper classes. A ``mixin`` is a class that provides
|
||||
|
||||
Reference in New Issue
Block a user