A Discrete-Event Network Simulator
API
sixlowpan-helper.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2011 Universita' di Firenze, Italy
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: Tommaso Pecorella <tommaso.pecorella@unifi.it>
19  */
20 
21 #ifndef SIXLOWPAN_HELPER_H
22 #define SIXLOWPAN_HELPER_H
23 
24 #include "ns3/net-device-container.h"
25 #include "ns3/object-factory.h"
26 #include <string>
27 
28 namespace ns3 {
29 
30 class Node;
31 class AttributeValue;
32 class Time;
33 
40 {
41 public:
42  /*
43  * Construct a SixlowpanHelper
44  */
45  SixLowPanHelper ();
53  void SetDeviceAttribute (std::string n1,
54  const AttributeValue &v1);
55 
82 
94  void AddContext (NetDeviceContainer c, uint8_t contextId, Ipv6Prefix context, Time validity);
95 
105  void RenewContext (NetDeviceContainer c, uint8_t contextId, Time validity);
106 
119  void InvalidateContext (NetDeviceContainer c, uint8_t contextId);
120 
129  void RemoveContext (NetDeviceContainer c, uint8_t contextId);
130 
142  int64_t AssignStreams (NetDeviceContainer c, int64_t stream);
143 
144 private:
146 };
147 
148 } // namespace ns3
149 
150 
151 #endif /* SIXLOWPAN_HELPER_H */
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:103
Hold a value for an Attribute.
Definition: attribute.h:68
void(* Time)(Time oldValue, Time newValue)
TracedValue callback signature for Time.
Definition: nstime.h:813
holds a vector of ns3::NetDevice pointers
ObjectFactory m_deviceFactory
Object factory.
NetDeviceContainer Install(NetDeviceContainer c)
Install the SixLoWPAN stack on top of an existing NetDevice.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void RemoveContext(NetDeviceContainer c, uint8_t contextId)
Remove a compression Context in a set of NetDevices.
Instantiate subclasses of ns3::Object.
void SetDeviceAttribute(std::string n1, const AttributeValue &v1)
Set an attribute on each ns3::SixlowpanNetDevice created by SixlowpanHelper::Install.
int64_t AssignStreams(NetDeviceContainer c, int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
Describes an IPv6 prefix.
Definition: ipv6-address.h:466
void InvalidateContext(NetDeviceContainer c, uint8_t contextId)
Invalidates a compression Context in a set of NetDevices.
Setup a sixlowpan stack to be used as a shim between IPv6 and a generic NetDevice.
void RenewContext(NetDeviceContainer c, uint8_t contextId, Time validity)
Renew a compression Context in a set of NetDevices.
void AddContext(NetDeviceContainer c, uint8_t contextId, Ipv6Prefix context, Time validity)
Adds a compression Context to a set of NetDevices.