Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1954)

Unified Diff: src/devices/mesh/dot11s/ie-dot11s-metric-report.cc

Issue 88094: 802.11s mesh stack model (Closed)
Patch Set: Review finished by Mathieu, ready to merge Created 14 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/devices/mesh/dot11s/ie-dot11s-metric-report.cc
===================================================================
new file mode 100644
--- /dev/null
+++ b/src/devices/mesh/dot11s/ie-dot11s-metric-report.cc
@@ -0,0 +1,85 @@
+/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2008,2009 IITP RAS
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Author: Kirill Andreev <andreev@iitp.ru>
+ */
+
+#include "ie-dot11s-metric-report.h"
+#include "ns3/assert.h"
+
+namespace ns3 {
+namespace dot11s {
+IeLinkMetricReport::IeLinkMetricReport () :
+ m_metric (0)
+{
+}
+IeLinkMetricReport::IeLinkMetricReport (uint32_t metric)
+{
+ m_metric = metric;
+}
+WifiElementId
+IeLinkMetricReport::ElementId () const
+{
+ return IE11S_LINK_METRIC_REPORT;
+}
+uint8_t
+IeLinkMetricReport::GetInformationSize (void) const
+{
+ return sizeof (uint32_t);
+}
+uint32_t
+IeLinkMetricReport::GetMetric ()
+{
+ return m_metric;
+}
+void
+IeLinkMetricReport::SetMetric (uint32_t metric)
+{
+ m_metric = metric;
+}
+void
+IeLinkMetricReport::SerializeInformation (Buffer::Iterator i) const
+{
+ i.WriteHtolsbU32 (m_metric);
+}
+uint8_t
+IeLinkMetricReport::DeserializeInformation (Buffer::Iterator start, uint8_t length)
+{
+ Buffer::Iterator i = start;
+ m_metric = i.ReadLsbtohU32 ();
+ return i.GetDistanceFrom (start);
+}
+void
+IeLinkMetricReport::Print (std::ostream& os) const
+{
+ os << std::endl << "<information_element id=" << ElementId () << ">" << std::endl;
+ os << "Metric = " << m_metric;
+ os << "</information_element>" << std::endl;
+}
+bool
+operator== (const IeLinkMetricReport & a, const IeLinkMetricReport & b)
+{
+ return (a.m_metric == b.m_metric);
+}
+std::ostream &
+operator << (std::ostream &os, const IeLinkMetricReport &a)
+{
+ a.Print (os);
+ return os;
+}
+} //namespace dot11s
+} // namespace ns3
« no previous file with comments | « src/devices/mesh/dot11s/ie-dot11s-metric-report.h ('k') | src/devices/mesh/dot11s/ie-dot11s-peer-management.h » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b