src/devices/mesh/dot11s/ie-dot11s-peering-protocol.cc
author Kirill Andreev <andreev@iitp.ru>
Wed, 22 Jul 2009 14:52:42 +0400
changeset 5129 5688b8da4526
parent 5124 e206046b2e44
child 5132 aee541a30256
permissions -rw-r--r--
Fixed coding style
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4974
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     1
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     2
/*
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     3
 * Copyright (c) 2008,2009 IITP RAS
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     4
 *
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     8
 *
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    12
 * GNU General Public License for more details.
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    13
 *
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    17
 *
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    18
 * Authors: Kirill Andreev <andreev@iitp.ru>
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    19
 */
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    20
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    21
#include "ie-dot11s-peering-protocol.h"
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5124
diff changeset
    22
namespace ns3
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5124
diff changeset
    23
{
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5124
diff changeset
    24
namespace dot11s
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5124
diff changeset
    25
{
4974
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    26
uint8_t
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    27
IePeeringProtocol::GetInformationSize () const
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    28
{
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    29
  return 1;
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    30
}
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5124
diff changeset
    31
IePeeringProtocol::IePeeringProtocol () :
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5124
diff changeset
    32
  m_protocol (0)
4974
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    33
{
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    34
}
5124
e206046b2e44 removed GetElementId from *.h files. Fixed spaces before '(' and added {} when needed.
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    35
WifiElementId
e206046b2e44 removed GetElementId from *.h files. Fixed spaces before '(' and added {} when needed.
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    36
IePeeringProtocol::ElementId () const
e206046b2e44 removed GetElementId from *.h files. Fixed spaces before '(' and added {} when needed.
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    37
{
e206046b2e44 removed GetElementId from *.h files. Fixed spaces before '(' and added {} when needed.
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    38
  return IE11S_MESH_PEERING_PROTOCOL_VERSION;
e206046b2e44 removed GetElementId from *.h files. Fixed spaces before '(' and added {} when needed.
Kirill Andreev <andreev@iitp.ru>
parents: 5063
diff changeset
    39
}
4974
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    40
void
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    41
IePeeringProtocol::SerializeInformation (Buffer::Iterator i) const
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    42
{
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    43
  i.WriteU8 (m_protocol);
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    44
}
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    45
uint8_t
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    46
IePeeringProtocol::DeserializeInformation (Buffer::Iterator i, uint8_t length)
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    47
{
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    48
  Buffer::Iterator start = i;
5129
5688b8da4526 Fixed coding style
Kirill Andreev <andreev@iitp.ru>
parents: 5124
diff changeset
    49
  m_protocol = i.ReadU8 ();
4974
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    50
  return i.GetDistanceFrom (start);
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    51
}
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    52
void
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    53
IePeeringProtocol::PrintInformation (std::ostream& os) const
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    54
{
5063
97b947e83640 Faker's code review response
Pavel Boyko <boyko@iitp.ru>
parents: 5059
diff changeset
    55
  os << "peering protocol = " << m_protocol;
4974
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    56
}
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    57
} // namespace dot11s
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    58
} //namespace ns3
8009731514d2 Peer link frame - done
Kirill Andreev <andreev@iitp.ru>
parents:
diff changeset
    59