src/simulator/scheduler-map.cc
author Emmanuelle Laprise
Thu, 17 May 2007 12:12:44 -0500
changeset 675 a5878de7d71c
parent 631 3620e5386e0d
child 692 3f03c8c4f381
permissions -rw-r--r--
The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 132
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
/*
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     3
 * Copyright (c) 2006 INRIA
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
 * All rights reserved.
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     5
 *
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     6
 * This program is free software; you can redistribute it and/or modify
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     7
 * it under the terms of the GNU General Public License version 2 as
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     8
 * published by the Free Software Foundation;
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     9
 *
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    10
 * This program is distributed in the hope that it will be useful,
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    13
 * GNU General Public License for more details.
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    14
 *
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    16
 * along with this program; if not, write to the Free Software
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    17
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    18
 *
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    19
 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    20
 * The idea to use a std c++ map came from GTNetS
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    21
 */
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    22
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    23
#include "scheduler-map.h"
439
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    24
#include "scheduler-factory.h"
25
9b3bb088c560 first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 16
diff changeset
    25
#include "event-impl.h"
286
57e6a2006962 convert use of <cassert> to "ns3/assert.h"
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 231
diff changeset
    26
#include "ns3/assert.h"
631
3620e5386e0d Fixed a gcc3.4.6 error for optimized builds
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 439
diff changeset
    27
#include <string>
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    28
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    29
#define noTRACE_MAP 1
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    30
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    31
#ifdef TRACE_MAP
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    32
#include <iostream>
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    33
# define TRACE(x) \
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    34
std::cout << "MAP TRACE " << x << std::endl;
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    35
#else /* TRACE_MAP */
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    36
# define TRACE(format,...)
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    37
#endif /* TRACE_MAP */
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    38
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    39
16
99e833adbb46 change yans namespace to ns3
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 9
diff changeset
    40
namespace ns3 {
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    41
439
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    42
static class SchedulerMapFactory : public SchedulerFactory 
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    43
{
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    44
public:
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    45
  SchedulerMapFactory ()
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    46
  {
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    47
    SchedulerFactory::Add (this, "map");
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    48
  }
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    49
private:
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    50
  virtual Scheduler *DoCreate (void) const
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    51
  {
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    52
    return new SchedulerMap ();
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    53
  }
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    54
} g_schedulerMapFactory;
fed13fb45eef Incorporated defaults and command-line arguments
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 286
diff changeset
    55
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    56
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    57
SchedulerMap::SchedulerMap ()
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    58
{}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    59
SchedulerMap::~SchedulerMap ()
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    60
{}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    61
194
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    62
/* Note the invariants which this function must provide:
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    63
 * - irreflexibility: f (x,x) is false)
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    64
 * - antisymmetry: f(x,y) = !f(y,x)
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    65
 * - transitivity: f(x,y) and f(y,z) => f(x,z)
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    66
 */
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    67
bool
196
9d243651d00c optmize std::map comparison
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 194
diff changeset
    68
SchedulerMap::EventKeyCompare::operator () (struct EventKey const&a, struct EventKey const&b)
194
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    69
{
675
a5878de7d71c The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents: 631
diff changeset
    70
  if (a.m_ts < b.m_ts) 
194
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    71
    {
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    72
      return true;
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    73
    } 
675
a5878de7d71c The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents: 631
diff changeset
    74
  else if (a.m_ts > b.m_ts)
196
9d243651d00c optmize std::map comparison
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 194
diff changeset
    75
    {
9d243651d00c optmize std::map comparison
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 194
diff changeset
    76
      return false;
9d243651d00c optmize std::map comparison
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 194
diff changeset
    77
    } 
9d243651d00c optmize std::map comparison
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 194
diff changeset
    78
  else if (a.m_uid < b.m_uid)
194
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    79
    {
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    80
      return true;
196
9d243651d00c optmize std::map comparison
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 194
diff changeset
    81
    }
194
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    82
  else 
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    83
    {
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    84
      return false;
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    85
    }
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    86
}
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    87
882aa1fc50fd optimize other all comparison operators
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 185
diff changeset
    88
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    89
25
9b3bb088c560 first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 16
diff changeset
    90
EventId
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
    91
SchedulerMap::RealInsert (EventImpl *event, Scheduler::EventKey key)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    92
{
231
8516b1203fbd remove compiler warning about unused variable when asserts are disabled.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 196
diff changeset
    93
  std::pair<EventMapI,bool> result;
8516b1203fbd remove compiler warning about unused variable when asserts are disabled.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 196
diff changeset
    94
  result = m_list.insert (std::make_pair (key, event));
286
57e6a2006962 convert use of <cassert> to "ns3/assert.h"
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 231
diff changeset
    95
  NS_ASSERT (result.second);
675
a5878de7d71c The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents: 631
diff changeset
    96
  return EventId (event, key.m_ts, key.m_uid);
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    97
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    98
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    99
bool
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
   100
SchedulerMap::RealIsEmpty (void) const
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   101
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 132
diff changeset
   102
  return m_list.empty ();
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   103
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   104
25
9b3bb088c560 first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 16
diff changeset
   105
EventImpl *
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
   106
SchedulerMap::RealPeekNext (void) const
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   107
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 132
diff changeset
   108
  EventMapCI i = m_list.begin ();
286
57e6a2006962 convert use of <cassert> to "ns3/assert.h"
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 231
diff changeset
   109
  NS_ASSERT (i != m_list.end ());
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 132
diff changeset
   110
  return (*i).second;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   111
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   112
Scheduler::EventKey
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
   113
SchedulerMap::RealPeekNextKey (void) const
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   114
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 132
diff changeset
   115
  EventMapCI i = m_list.begin ();
286
57e6a2006962 convert use of <cassert> to "ns3/assert.h"
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 231
diff changeset
   116
  NS_ASSERT (i != m_list.end ());
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 132
diff changeset
   117
  return (*i).first;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   118
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   119
void
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
   120
SchedulerMap::RealRemoveNext (void)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   121
{
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 132
diff changeset
   122
  m_list.erase (m_list.begin ());
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   123
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   124
25
9b3bb088c560 first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 16
diff changeset
   125
EventImpl *
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
   126
SchedulerMap::RealRemove (EventId id, Scheduler::EventKey *key)
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   127
{
675
a5878de7d71c The header file ns3/cairo-wideint-private.h was added since the type int32_t was used.
Emmanuelle Laprise
parents: 631
diff changeset
   128
  key->m_ts = id.GetTs ();
185
098b789ca5e6 do not use internal iterator void *. fix valgrind warnings
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 150
diff changeset
   129
  key->m_uid = id.GetUid ();
098b789ca5e6 do not use internal iterator void *. fix valgrind warnings
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 150
diff changeset
   130
  EventMapI i = m_list.find (*key);
098b789ca5e6 do not use internal iterator void *. fix valgrind warnings
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 150
diff changeset
   131
  EventImpl *retval = i->second;
150
663120712cd9 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 132
diff changeset
   132
  m_list.erase (i);
185
098b789ca5e6 do not use internal iterator void *. fix valgrind warnings
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 150
diff changeset
   133
  return retval;
25
9b3bb088c560 first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 16
diff changeset
   134
}
9b3bb088c560 first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 16
diff changeset
   135
9b3bb088c560 first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 16
diff changeset
   136
bool
122
6b8f1eda5c57 fix coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 110
diff changeset
   137
SchedulerMap::RealIsValid (EventId id)
25
9b3bb088c560 first cut at george's ideas on api
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 16
diff changeset
   138
{
185
098b789ca5e6 do not use internal iterator void *. fix valgrind warnings
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 150
diff changeset
   139
  return true;
9
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   140
}
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   141
2c31ae7c94db import from yans
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   142
16
99e833adbb46 change yans namespace to ns3
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 9
diff changeset
   143
}; // namespace ns3