A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
src
mesh
model
mesh-wifi-interface-mac-plugin.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2009 IITP RAS
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation;
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*
18
* Author: Pavel Boyko <boyko@iitp.ru>
19
*/
20
21
#ifndef MESH_WIFI_INTERFACE_MAC_PLUGIN_H
22
#define MESH_WIFI_INTERFACE_MAC_PLUGIN_H
23
24
#include "ns3/packet.h"
25
#include "ns3/mac48-address.h"
26
#include "ns3/mesh-wifi-beacon.h"
27
#include "ns3/simple-ref-count.h"
28
29
namespace
ns3
{
30
31
class
MeshWifiInterfaceMac;
32
40
class
MeshWifiInterfaceMacPlugin
:
public
SimpleRefCount
<MeshWifiInterfaceMacPlugin>
41
{
42
public
:
44
virtual
~MeshWifiInterfaceMacPlugin
(){};
50
virtual
void
SetParent
(
Ptr<MeshWifiInterfaceMac>
parent) = 0;
59
virtual
bool
Receive
(
Ptr<Packet>
packet,
const
WifiMacHeader
& header) = 0;
69
virtual
bool
UpdateOutcomingFrame
(
Ptr<Packet>
packet,
WifiMacHeader
& header,
Mac48Address
from,
Mac48Address
to) = 0;
76
virtual
void
UpdateBeacon
(
MeshWifiBeacon
& beacon)
const
= 0;
85
virtual
int64_t
AssignStreams
(int64_t stream) = 0;
86
87
};
88
89
}
// namespace ns3
90
91
#endif
/* MESH_WIFI_INTERFACE_MAC_PLUGIN_H */
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition:
ptr.h:73
ns3::MeshWifiInterfaceMacPlugin::~MeshWifiInterfaceMacPlugin
virtual ~MeshWifiInterfaceMacPlugin()
This is for subclasses.
Definition:
mesh-wifi-interface-mac-plugin.h:44
ns3::MeshWifiInterfaceMacPlugin::UpdateBeacon
virtual void UpdateBeacon(MeshWifiBeacon &beacon) const =0
Update beacon before it will be formed and sent.
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
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::MeshWifiInterfaceMacPlugin
Common interface for mesh point interface MAC plugins.
Definition:
mesh-wifi-interface-mac-plugin.h:40
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::Mac48Address
an EUI-48 address
Definition:
mac48-address.h:43
ns3::MeshWifiBeacon
Beacon is beacon header + list of arbitrary information elements.
Definition:
mesh-wifi-beacon.h:40
ns3::MeshWifiInterfaceMacPlugin::Receive
virtual bool Receive(Ptr< Packet > packet, const WifiMacHeader &header)=0
Process received frame.
ns3::SimpleRefCount
A template-based reference counting class.
Definition:
simple-ref-count.h:73
ns3::MeshWifiInterfaceMacPlugin::SetParent
virtual void SetParent(Ptr< MeshWifiInterfaceMac > parent)=0
Each plugin must be installed on an interface to work.
ns3::WifiMacHeader
Implements the IEEE 802.11 MAC header.
Definition:
wifi-mac-header.h:83
Generated on Wed Nov 7 2018 10:02:05 for ns-3 by
1.8.14