A Discrete-Event Network Simulator
lorawan @ (+)
API
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mesh-stack-installer.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2008,2009 IITP RAS
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Authors: Kirill Andreev <andreev@iitp.ru>
7 */
8
9#ifndef MESH_STACK_INSTALLER_H
10#define MESH_STACK_INSTALLER_H
11#include "ns3/mesh-point-device.h"
12
13namespace ns3
14{
15/**
16 * @ingroup mesh
17 *
18 * @brief Prototype for class, which helps to install MAC-layer
19 * routing stack to ns3::MeshPointDevice
20 *
21 * You need to create a MeshPointDevice and attach all
22 * interfaces to it, than call Install method
23 */
24class MeshStack : public Object
25{
26 public:
27 /// @brief Register this type.
28 /// @return The TypeId.
29 static TypeId GetTypeId();
30
31 /**
32 * @brief Installs mesh stack. needed by helper only
33 * @param mp the mesh point device
34 * @returns true if successful
35 */
36 virtual bool InstallStack(Ptr<MeshPointDevice> mp) = 0;
37 /**
38 * Report statistics of a given mesh point
39 * @param mp the mesh point device
40 * @param os the output stream
41 */
42 virtual void Report(const Ptr<MeshPointDevice> mp, std::ostream& os) = 0;
43 /**
44 * Reset statistics of a given mesh point
45 * @param mp the mesh point device
46 */
47 virtual void ResetStats(const Ptr<MeshPointDevice> mp) = 0;
48};
49} // namespace ns3
50#endif
Prototype for class, which helps to install MAC-layer routing stack to ns3::MeshPointDevice.
static TypeId GetTypeId()
Register this type.
virtual void Report(const Ptr< MeshPointDevice > mp, std::ostream &os)=0
Report statistics of a given mesh point.
virtual bool InstallStack(Ptr< MeshPointDevice > mp)=0
Installs mesh stack.
virtual void ResetStats(const Ptr< MeshPointDevice > mp)=0
Reset statistics of a given mesh point.
A base class which provides memory management and object aggregation.
Definition object.h:78
Smart pointer class similar to boost::intrusive_ptr.
a unique identifier for an interface.
Definition type-id.h:49
Every class exported by the ns3 library is enclosed in the ns3 namespace.