A Discrete-Event Network Simulator
API
aloha-noack-mac-header.cc
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2009 CTTC
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: Nicola Baldo <nbaldo@cttc.es>
19  */
20 
21 #include <ns3/log.h>
22 #include "aloha-noack-mac-header.h"
23 
24 
25 namespace ns3 {
26 
27 NS_LOG_COMPONENT_DEFINE ("AlohaNoackMacHeader");
28 
29 NS_OBJECT_ENSURE_REGISTERED (AlohaNoackMacHeader);
30 
31 TypeId
33 {
34  static TypeId tid = TypeId ("ns3::AlohaNoackMacHeader")
35  .SetParent<Header> ()
36  .SetGroupName ("Spectrum")
37  .AddConstructor<AlohaNoackMacHeader> ()
38  ;
39  return tid;
40 }
41 
42 TypeId
44 {
45  return GetTypeId ();
46 }
47 
48 
49 
50 uint32_t
52 {
53  return 12;
54 }
55 
56 
57 
58 void
60 {
61  WriteTo (start, m_destination);
62  WriteTo (start, m_source);
63 }
64 
65 uint32_t
67 {
68  ReadFrom (start, m_destination);
69  ReadFrom (start, m_source);
70  return GetSerializedSize ();
71 }
72 
73 
74 void
75 AlohaNoackMacHeader::Print (std::ostream &os) const
76 {
77  os << "src=" << m_source
78  << "dst=" << m_destination;
79 }
80 
81 
82 void
84 {
85  m_source = source;
86 }
87 
90 {
91  return m_source;
92 }
93 
94 void
96 {
97  m_destination = dst;
98 }
99 
102 {
103  return m_destination;
104 }
105 
106 
107 
108 
109 } // namespace ns3
110 
111 
Protocol header serialization and deserialization.
Definition: header.h:42
virtual void Serialize(Buffer::Iterator start) const
Mac48Address m_destination
destination address
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Definition: object-base.h:44
virtual uint32_t GetSerializedSize(void) const
virtual void Print(std::ostream &os) const
void ReadFrom(Buffer::Iterator &i, Ipv4Address &ad)
Read an Ipv4Address from a Buffer.
def start()
Definition: core.py:1482
void WriteTo(Buffer::Iterator &i, Ipv4Address ad)
Write an Ipv4Address to a Buffer.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition: log.h:201
iterator in a Buffer instance
Definition: buffer.h:98
virtual uint32_t Deserialize(Buffer::Iterator start)
Mac48Address m_source
source address
void SetDestination(Mac48Address destination)
Set the destination address.
Header for the AlohaNoack NetDevice.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
an EUI-48 address
Definition: mac48-address.h:43
Mac48Address GetSource() const
Get the source address.
static TypeId GetTypeId(void)
Get the type ID.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
void SetSource(Mac48Address source)
Set the source address.
Mac48Address GetDestination() const
Get the destination address.
a unique identifier for an interface.
Definition: type-id.h:58
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Definition: type-id.cc:904