A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
mesh-wifi-interface-mac-plugin.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2009 IITP RAS
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: Pavel Boyko <boyko@iitp.ru>
18
*/
19
20
#ifndef MESH_WIFI_INTERFACE_MAC_PLUGIN_H
21
#define MESH_WIFI_INTERFACE_MAC_PLUGIN_H
22
23
#include "
mesh-wifi-beacon.h
"
24
25
#include "ns3/mac48-address.h"
26
#include "ns3/packet.h"
27
#include "ns3/simple-ref-count.h"
28
29
namespace
ns3
30
{
31
32
class
MeshWifiInterfaceMac;
33
41
class
MeshWifiInterfaceMacPlugin
:
public
SimpleRefCount
<MeshWifiInterfaceMacPlugin>
42
{
43
public
:
45
virtual
~MeshWifiInterfaceMacPlugin
(){};
51
virtual
void
SetParent
(
Ptr<MeshWifiInterfaceMac>
parent) = 0;
60
virtual
bool
Receive
(
Ptr<Packet>
packet,
const
WifiMacHeader
& header) = 0;
70
virtual
bool
UpdateOutcomingFrame
(
Ptr<Packet>
packet,
71
WifiMacHeader
& header,
72
Mac48Address
from,
73
Mac48Address
to) = 0;
80
virtual
void
UpdateBeacon
(
MeshWifiBeacon
& beacon)
const
= 0;
89
virtual
int64_t
AssignStreams
(int64_t stream) = 0;
90
};
91
92
}
// namespace ns3
93
94
#endif
/* MESH_WIFI_INTERFACE_MAC_PLUGIN_H */
ns3::Mac48Address
an EUI-48 address
Definition:
mac48-address.h:46
ns3::MeshWifiBeacon
Beacon is beacon header + list of arbitrary information elements.
Definition:
mesh-wifi-beacon.h:42
ns3::MeshWifiInterfaceMacPlugin
Common interface for mesh point interface MAC plugins.
Definition:
mesh-wifi-interface-mac-plugin.h:42
ns3::MeshWifiInterfaceMacPlugin::AssignStreams
virtual int64_t AssignStreams(int64_t stream)=0
Assign a fixed random variable stream number to the random variables used by this model.
ns3::MeshWifiInterfaceMacPlugin::Receive
virtual bool Receive(Ptr< Packet > packet, const WifiMacHeader &header)=0
Process received frame.
ns3::MeshWifiInterfaceMacPlugin::~MeshWifiInterfaceMacPlugin
virtual ~MeshWifiInterfaceMacPlugin()
This is for subclasses.
Definition:
mesh-wifi-interface-mac-plugin.h:45
ns3::MeshWifiInterfaceMacPlugin::UpdateBeacon
virtual void UpdateBeacon(MeshWifiBeacon &beacon) const =0
Update beacon before it will be formed and sent.
ns3::MeshWifiInterfaceMacPlugin::SetParent
virtual void SetParent(Ptr< MeshWifiInterfaceMac > parent)=0
Each plugin must be installed on an interface to work.
ns3::MeshWifiInterfaceMacPlugin::UpdateOutcomingFrame
virtual bool UpdateOutcomingFrame(Ptr< Packet > packet, WifiMacHeader &header, Mac48Address from, Mac48Address to)=0
Update frame before it will be forwarded down.
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition:
ptr.h:77
ns3::SimpleRefCount
A template-based reference counting class.
Definition:
simple-ref-count.h:81
ns3::WifiMacHeader
Implements the IEEE 802.11 MAC header.
Definition:
wifi-mac-header.h:98
mesh-wifi-beacon.h
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
mesh
model
mesh-wifi-interface-mac-plugin.h
Generated on Sun Mar 3 2024 17:11:05 for ns-3 by
1.9.1