src/helper/ascii-trace-helper.cc
author Craig Dowell <craigdo@ee.washington.edu>
Wed, 27 Jan 2010 21:23:30 -0800
changeset 6027 8ed838dd0be5
parent 6017 050fa2b861df
permissions -rw-r--r--
add ipv6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6011
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     2
/*
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     3
 * Copyright (c) 2009 University of Washington
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     4
 *
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     8
 *
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    12
 * GNU General Public License for more details.
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    13
 *
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    17
 */
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    18
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    19
#include <stdint.h>
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    20
#include <fstream>
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    21
#include <string>
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    22
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    23
#include "ns3/abort.h"
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    24
#include "ns3/assert.h"
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    25
#include "ns3/log.h"
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    26
#include "ns3/ptr.h"
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    27
#include "ns3/packet.h"
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    28
#include "ns3/node.h"
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    29
#include "ns3/names.h"
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    30
#include "ns3/net-device.h"
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    31
#include "ns3/simulator.h"
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    32
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    33
#include "ascii-trace-helper.h"
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    34
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    35
NS_LOG_COMPONENT_DEFINE("AsciiTraceHelper");
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    36
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    37
namespace ns3 {
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    38
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    39
AsciiTraceHelper::AsciiTraceHelper ()
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    40
{
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    41
  NS_LOG_FUNCTION_NOARGS ();
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    42
}
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    43
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    44
AsciiTraceHelper::~AsciiTraceHelper ()
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    45
{
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    46
  NS_LOG_FUNCTION_NOARGS ();
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    47
}
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    48
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    49
Ptr<OutputStreamObject>
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    50
AsciiTraceHelper::CreateFileStream (std::string filename, std::string filemode)
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    51
{
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    52
  NS_LOG_FUNCTION (filename << filemode);
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    53
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    54
  std::ofstream *ofstream = new std::ofstream;
6014
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    55
  std::ios_base::openmode mode;
6011
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    56
6014
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    57
  if (filemode == "a")
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    58
    {
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    59
      mode = std::ios_base::out | std::ios_base::app;
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    60
    }
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    61
  else if (filemode == "w")
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    62
    {
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    63
      mode = std::ios_base::out | std::ios_base::trunc;
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    64
    }
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    65
  else
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    66
    {
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    67
      NS_ABORT_MSG ("AsciiTraceHelper::CreateFileStream(): Unexpected file mode");
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    68
    }
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    69
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    70
  ofstream->open (filename.c_str (), mode);
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    71
  NS_ABORT_MSG_UNLESS (ofstream->is_open (), "AsciiTraceHelper::CreateFileStream():  Unable to Open " << 
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
    72
                       filename << " for mode " << filemode);
6011
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    73
  
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    74
  Ptr<OutputStreamObject> streamObject = CreateObject<OutputStreamObject> ();
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    75
  streamObject->SetStream (ofstream);
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    76
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    77
  //
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    78
  // Note that the ascii trace helper promptly forgets all about the trace file.
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    79
  // We rely on the reference count of the file object which will soon be owned
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    80
  // by the caller to keep the object alive.  If the caller uses the stream 
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    81
  // object to hook a trace source, ownership of the stream object will be
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    82
  // implicitly transferred to the callback which keeps the object alive.
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    83
  // When the callback is destroyed (when either the trace is disconnected or
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    84
  // the object with the trace source is deleted) the callback will be destroyed
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    85
  // and the stream object will be destroyed, releasing the pointer and closing
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    86
  // the underlying file.
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    87
  //
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    88
  return streamObject;
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    89
}
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    90
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    91
std::string
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
    92
AsciiTraceHelper::GetFilenameFromDevice (std::string prefix, Ptr<NetDevice> device, bool useObjectNames)
6011
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    93
{
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    94
  NS_LOG_FUNCTION (prefix << device << useObjectNames);
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    95
  NS_ABORT_MSG_UNLESS (prefix.size (), "Empty prefix string");
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    96
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    97
  std::ostringstream oss;
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    98
  oss << prefix << "-";
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
    99
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   100
  std::string nodename;
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   101
  std::string devicename;
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   102
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   103
  Ptr<Node> node = device->GetNode ();
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   104
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   105
  if (useObjectNames)
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   106
    {
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   107
      nodename = Names::FindName (node);
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   108
      devicename = Names::FindName (device);
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   109
    }
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   110
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   111
  if (nodename.size ())
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   112
    {
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   113
      oss << nodename;
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   114
    }
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   115
  else
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   116
    {
6014
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
   117
      oss << node->GetId ();
6011
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   118
    }
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   119
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   120
  oss << "-";
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   121
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   122
  if (devicename.size ())
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   123
    {
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   124
      oss << devicename;
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   125
    }
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   126
  else
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   127
    {
6014
d251d4a44fde checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6013
diff changeset
   128
      oss << device->GetIfIndex ();
6011
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   129
    }
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   130
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   131
  oss << ".tr";
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   132
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   133
  return oss.str ();
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   134
}
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   135
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   136
std::string
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   137
AsciiTraceHelper::GetFilenameFromInterfacePair (
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   138
  std::string prefix, 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   139
  Ptr<Object> object, 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   140
  uint32_t interface, 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   141
  bool useObjectNames)
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   142
{
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   143
  NS_LOG_FUNCTION (prefix << object << interface << useObjectNames);
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   144
  NS_ABORT_MSG_UNLESS (prefix.size (), "Empty prefix string");
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   145
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   146
  std::ostringstream oss;
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   147
  oss << prefix << "-";
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   148
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   149
  std::string objname;
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   150
  std::string nodename;
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   151
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   152
  Ptr<Node> node = object->GetObject<Node> ();
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   153
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   154
  if (useObjectNames)
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   155
    {
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   156
      objname = Names::FindName (object);
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   157
      nodename = Names::FindName (node);
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   158
    }
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   159
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   160
  if (objname.size ())
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   161
    {
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   162
      oss << objname;
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   163
    }
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   164
  else if (nodename.size ())
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   165
    {
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   166
      oss << nodename;
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   167
    }
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   168
  else
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   169
    {
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   170
      oss << "n" << node->GetId ();
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   171
    }
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   172
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   173
  oss << "-i" << interface << ".tr";
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   174
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   175
  return oss.str ();
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   176
}
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   177
6011
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   178
//
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   179
// One of the basic default trace sink sets.  Enqueue:
6011
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   180
//
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   181
//   When a packet has been sent to a device for transmission, the device is
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   182
//   expected to place the packet onto a transmit queue even if it does not
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   183
//   have to delay the packet at all, if only to trigger this event.  This 
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   184
//   event will eventually translate into a '+' operation in the trace file.
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   185
//
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   186
//   This is typically implemented by hooking the "TxQueue/Enqueue" trace hook
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   187
//   in the device (actually the Queue in the device).
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   188
//
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   189
void
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   190
AsciiTraceHelper::DefaultEnqueueSinkWithoutContext (Ptr<OutputStreamObject> file, Ptr<const Packet> p)
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   191
{
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   192
  NS_LOG_FUNCTION (file << p);
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   193
  *file->GetStream () << "+ " << Simulator::Now ().GetSeconds () << " " << *p << std::endl;
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   194
}
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   195
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   196
void
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   197
AsciiTraceHelper::DefaultEnqueueSinkWithContext (Ptr<OutputStreamObject> file, std::string context, Ptr<const Packet> p)
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   198
{
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   199
  NS_LOG_FUNCTION (file << p);
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   200
  *file->GetStream () << "+ " << Simulator::Now ().GetSeconds () << " " << context << " " << *p << std::endl;
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   201
}
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   202
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   203
//
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   204
// One of the basic default trace sink sets.  Drop:
6011
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   205
//
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   206
//   When a packet has been sent to a device for transmission, the device is
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   207
//   expected to place the packet onto a transmit queue.  If this queue is 
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   208
//   full the packet will be dropped.  The device is expected to trigger an
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   209
//   event to indicate that an outbound packet is being dropped.  This event
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   210
//   will eventually translate into a 'd' operation in the trace file.
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   211
//
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   212
//   This is typically implemented by hooking the "TxQueue/Drop" trace hook
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   213
//   in the device (actually the Queue in the device).
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   214
//
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   215
void
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   216
AsciiTraceHelper::DefaultDropSinkWithoutContext (Ptr<OutputStreamObject> file, Ptr<const Packet> p)
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   217
{
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   218
  NS_LOG_FUNCTION (file << p);
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   219
  *file->GetStream () << "d " << Simulator::Now ().GetSeconds () << " " << *p << std::endl;
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   220
}
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   221
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   222
void
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   223
AsciiTraceHelper::DefaultDropSinkWithContext (Ptr<OutputStreamObject> file, std::string context, Ptr<const Packet> p)
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   224
{
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   225
  NS_LOG_FUNCTION (file << p);
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   226
  *file->GetStream () << "d " << Simulator::Now ().GetSeconds () << " " << context << " " << *p << std::endl;
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   227
}
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   228
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   229
//
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   230
// One of the basic default trace sink sets.  Dequeue:
6011
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   231
//
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   232
//   When a packet has been sent to a device for transmission, the device is
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   233
//   expected to place the packet onto a transmit queue even if it does not
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   234
//   have to delay the packet at all.  The device removes the packet from the
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   235
//   transmit queue when the packet is ready to send, and this dequeue will 
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   236
//   fire a corresponding event.  This event will eventually translate into a 
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   237
//   '-' operation in the trace file.
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   238
//
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   239
//   This is typically implemented by hooking the "TxQueue/Dequeue" trace hook
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   240
//   in the device (actually the Queue in the device).
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   241
//
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   242
void
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   243
AsciiTraceHelper::DefaultDequeueSinkWithoutContext (Ptr<OutputStreamObject> file, Ptr<const Packet> p)
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   244
{
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   245
  NS_LOG_FUNCTION (file << p);
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   246
  *file->GetStream () << "- " << Simulator::Now ().GetSeconds () << " " << *p << std::endl;
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   247
}
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   248
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   249
void
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   250
AsciiTraceHelper::DefaultDequeueSinkWithContext (Ptr<OutputStreamObject> file, std::string context, Ptr<const Packet> p)
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   251
{
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   252
  NS_LOG_FUNCTION (file << p);
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   253
  *file->GetStream () << "- " << Simulator::Now ().GetSeconds () << " " << context << " " << *p << std::endl;
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   254
}
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   255
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   256
//
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   257
// One of the basic default trace sink sets.  Receive:
6011
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   258
//
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   259
//   When a packet is received by a device for transmission, the device is
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   260
//   expected to trigger this event to indicate the reception has occurred.
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   261
//   This event will eventually translate into an 'r' operation in the trace 
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   262
//   file.
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   263
//
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   264
//   This is typically implemented by hooking the "MacRx" trace hook in the
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   265
//   device.
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   266
void
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   267
AsciiTraceHelper::DefaultReceiveSinkWithoutContext (Ptr<OutputStreamObject> file, Ptr<const Packet> p)
6011
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   268
{
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   269
  NS_LOG_FUNCTION (file << p);
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   270
  *file->GetStream () << "r " << Simulator::Now ().GetSeconds () << " " << *p << std::endl;
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   271
}
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   272
6013
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   273
void
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   274
AsciiTraceHelper::DefaultReceiveSinkWithContext (Ptr<OutputStreamObject> file, std::string context, Ptr<const Packet> p)
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   275
{
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   276
  NS_LOG_FUNCTION (file << p);
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   277
  *file->GetStream () << "r " << Simulator::Now ().GetSeconds () << " " << context << " " << *p << std::endl;
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   278
}
fa3ab7f34eb2 checkpoint
Craig Dowell <craigdo@ee.washington.edu>
parents: 6011
diff changeset
   279
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   280
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   281
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   282
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   283
void 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   284
AsciiTraceUserHelperForDevice::EnableAscii (std::string prefix, Ptr<NetDevice> nd)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   285
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   286
  EnableAsciiInternal (Ptr<OutputStreamObject> (), prefix, nd);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   287
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   288
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   289
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   290
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   291
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   292
void 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   293
AsciiTraceUserHelperForDevice::EnableAscii (Ptr<OutputStreamObject> stream, Ptr<NetDevice> nd)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   294
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   295
  EnableAsciiInternal (stream, std::string (), nd);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   296
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   297
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   298
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   299
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   300
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   301
void 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   302
AsciiTraceUserHelperForDevice::EnableAscii (std::string prefix, std::string ndName)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   303
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   304
  EnableAsciiImpl (Ptr<OutputStreamObject> (), prefix, ndName);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   305
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   306
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   307
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   308
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   309
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   310
void 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   311
AsciiTraceUserHelperForDevice::EnableAscii (Ptr<OutputStreamObject> stream, std::string ndName)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   312
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   313
  EnableAsciiImpl (stream, std::string (), ndName);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   314
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   315
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   316
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   317
// Private API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   318
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   319
void 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   320
AsciiTraceUserHelperForDevice::EnableAsciiImpl (Ptr<OutputStreamObject> stream, std::string prefix, std::string ndName)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   321
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   322
  Ptr<NetDevice> nd = Names::Find<NetDevice> (ndName);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   323
  EnableAsciiInternal (stream, prefix, nd);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   324
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   325
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   326
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   327
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   328
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   329
void 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   330
AsciiTraceUserHelperForDevice::EnableAscii (std::string prefix, NetDeviceContainer d)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   331
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   332
  EnableAsciiImpl (Ptr<OutputStreamObject> (), prefix, d);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   333
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   334
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   335
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   336
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   337
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   338
void 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   339
AsciiTraceUserHelperForDevice::EnableAscii (Ptr<OutputStreamObject> stream, NetDeviceContainer d)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   340
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   341
  EnableAsciiImpl (stream, std::string (), d);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   342
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   343
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   344
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   345
// Private API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   346
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   347
void 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   348
AsciiTraceUserHelperForDevice::EnableAsciiImpl (Ptr<OutputStreamObject> stream, std::string prefix, NetDeviceContainer d)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   349
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   350
  for (NetDeviceContainer::Iterator i = d.Begin (); i != d.End (); ++i)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   351
    {
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   352
      Ptr<NetDevice> dev = *i;
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   353
      EnableAsciiInternal (stream, prefix, dev);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   354
    }
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   355
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   356
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   357
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   358
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   359
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   360
void
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   361
AsciiTraceUserHelperForDevice::EnableAscii (std::string prefix, NodeContainer n)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   362
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   363
  EnableAsciiImpl (Ptr<OutputStreamObject> (), prefix, n);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   364
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   365
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   366
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   367
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   368
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   369
void
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   370
AsciiTraceUserHelperForDevice::EnableAscii (Ptr<OutputStreamObject> stream, NodeContainer n)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   371
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   372
  EnableAsciiImpl (stream, std::string (), n);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   373
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   374
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   375
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   376
// Private API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   377
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   378
void
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   379
AsciiTraceUserHelperForDevice::EnableAsciiImpl (Ptr<OutputStreamObject> stream, std::string prefix, NodeContainer n)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   380
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   381
  NetDeviceContainer devs;
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   382
  for (NodeContainer::Iterator i = n.Begin (); i != n.End (); ++i)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   383
    {
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   384
      Ptr<Node> node = *i;
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   385
      for (uint32_t j = 0; j < node->GetNDevices (); ++j)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   386
        {
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   387
          devs.Add (node->GetDevice (j));
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   388
        }
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   389
    }
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   390
  EnableAsciiImpl (stream, prefix, devs);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   391
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   392
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   393
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   394
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   395
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   396
void
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   397
AsciiTraceUserHelperForDevice::EnableAsciiAll (std::string prefix)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   398
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   399
  EnableAsciiImpl (Ptr<OutputStreamObject> (), prefix, NodeContainer::GetGlobal ());
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   400
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   401
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   402
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   403
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   404
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   405
void
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   406
AsciiTraceUserHelperForDevice::EnableAsciiAll (Ptr<OutputStreamObject> stream)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   407
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   408
  EnableAsciiImpl (stream, std::string (), NodeContainer::GetGlobal ());
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   409
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   410
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   411
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   412
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   413
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   414
void 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   415
AsciiTraceUserHelperForDevice::EnableAscii (Ptr<OutputStreamObject> stream, uint32_t nodeid, uint32_t deviceid)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   416
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   417
  EnableAsciiImpl (stream, std::string (), nodeid, deviceid);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   418
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   419
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   420
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   421
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   422
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   423
void 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   424
AsciiTraceUserHelperForDevice::EnableAscii (std::string prefix, uint32_t nodeid, uint32_t deviceid)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   425
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   426
  EnableAsciiImpl (Ptr<OutputStreamObject> (), prefix, nodeid, deviceid);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   427
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   428
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   429
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   430
// Private API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   431
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   432
void 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   433
AsciiTraceUserHelperForDevice::EnableAsciiImpl (
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   434
  Ptr<OutputStreamObject> stream, 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   435
  std::string prefix, 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   436
  uint32_t nodeid, 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   437
  uint32_t deviceid)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   438
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   439
  NodeContainer n = NodeContainer::GetGlobal ();
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   440
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   441
  for (NodeContainer::Iterator i = n.Begin (); i != n.End (); ++i)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   442
    {
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   443
      Ptr<Node> node = *i;
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   444
      if (node->GetId () != nodeid) 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   445
        {
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   446
          continue;
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   447
        }
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   448
      
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   449
      NS_ABORT_MSG_IF (deviceid >= node->GetNDevices (), 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   450
                       "AsciiTraceUserHelperForDevice::EnableAscii(): Unknown deviceid = " << deviceid);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   451
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   452
      Ptr<NetDevice> nd = node->GetDevice (deviceid);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   453
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   454
      EnableAsciiInternal (stream, prefix, nd);
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   455
      return;
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   456
    }
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   457
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   458
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   459
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   460
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   461
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   462
void 
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   463
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4 (std::string prefix, Ptr<Ipv4> ipv4, uint32_t interface)
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   464
{
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   465
  EnableAsciiIpv4Internal (Ptr<OutputStreamObject> (), prefix, ipv4, interface);
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   466
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   467
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   468
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   469
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   470
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   471
void 
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   472
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4 (Ptr<OutputStreamObject> stream, Ptr<Ipv4> ipv4, uint32_t interface)
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   473
{
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   474
  EnableAsciiIpv4Internal (stream, std::string (), ipv4, interface);
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   475
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   476
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   477
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   478
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   479
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   480
void 
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   481
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4 (std::string prefix, std::string ipv4Name, uint32_t interface)
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   482
{
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   483
  EnableAsciiIpv4Impl (Ptr<OutputStreamObject> (), prefix, ipv4Name, interface);
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   484
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   485
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   486
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   487
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   488
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   489
void 
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   490
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4 (Ptr<OutputStreamObject> stream, std::string ipv4Name, uint32_t interface)
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   491
{
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   492
  EnableAsciiIpv4Impl (stream, std::string (), ipv4Name, interface);
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   493
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   494
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   495
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   496
// Private API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   497
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   498
void 
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   499
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4Impl (
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   500
  Ptr<OutputStreamObject> stream, 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   501
  std::string prefix, 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   502
  std::string ipv4Name, 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   503
  uint32_t interface)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   504
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   505
  Ptr<Ipv4> ipv4 = Names::Find<Ipv4> (ipv4Name);
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   506
  EnableAsciiIpv4Internal (stream, prefix, ipv4, interface);
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   507
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   508
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   509
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   510
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   511
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   512
void 
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   513
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4 (std::string prefix, Ipv4InterfaceContainer c)
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   514
{
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   515
  EnableAsciiIpv4Impl (Ptr<OutputStreamObject> (), prefix, c);
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   516
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   517
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   518
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   519
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   520
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   521
void 
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   522
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4 (Ptr<OutputStreamObject> stream, Ipv4InterfaceContainer c)
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   523
{
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   524
  EnableAsciiIpv4Impl (stream, std::string (), c);
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   525
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   526
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   527
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   528
// Private API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   529
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   530
void 
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   531
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4Impl (Ptr<OutputStreamObject> stream, std::string prefix, Ipv4InterfaceContainer c)
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   532
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   533
  for (Ipv4InterfaceContainer::Iterator i = c.Begin (); i != c.End (); ++i)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   534
    {
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   535
      std::pair<Ptr<Ipv4>, uint32_t> pair = *i;
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   536
      EnableAsciiIpv4Internal (stream, prefix, pair.first, pair.second);
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   537
    }
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   538
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   539
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   540
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   541
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   542
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   543
void
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   544
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4 (std::string prefix, NodeContainer n)
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   545
{
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   546
  EnableAsciiIpv4Impl (Ptr<OutputStreamObject> (), prefix, n);
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   547
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   548
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   549
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   550
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   551
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   552
void
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   553
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4 (Ptr<OutputStreamObject> stream, NodeContainer n)
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   554
{
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   555
  EnableAsciiIpv4Impl (stream, std::string (), n);
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   556
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   557
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   558
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   559
// Private API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   560
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   561
void
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   562
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4Impl (Ptr<OutputStreamObject> stream, std::string prefix, NodeContainer n)
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   563
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   564
  for (NodeContainer::Iterator i = n.Begin (); i != n.End (); ++i)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   565
    {
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   566
      Ptr<Node> node = *i;
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   567
      Ptr<Ipv4> ipv4 = node->GetObject<Ipv4> ();
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   568
      if (ipv4)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   569
        {
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   570
          for (uint32_t j = 0; j < ipv4->GetNInterfaces (); ++j)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   571
            {
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   572
              EnableAsciiIpv4Internal (stream, prefix, ipv4, j);
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   573
            }
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   574
        }
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   575
    }
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   576
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   577
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   578
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   579
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   580
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   581
void
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   582
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4All (std::string prefix)
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   583
{
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   584
  EnableAsciiIpv4Impl (Ptr<OutputStreamObject> (), prefix, NodeContainer::GetGlobal ());
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   585
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   586
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   587
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   588
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   589
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   590
void
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   591
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4All (Ptr<OutputStreamObject> stream)
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   592
{
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   593
  EnableAsciiIpv4Impl (stream, std::string (), NodeContainer::GetGlobal ());
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   594
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   595
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   596
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   597
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   598
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   599
void 
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   600
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4 (Ptr<OutputStreamObject> stream, uint32_t nodeid, uint32_t interface)
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   601
{
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   602
  EnableAsciiIpv4Impl (stream, std::string (), nodeid, interface);
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   603
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   604
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   605
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   606
// Public API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   607
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   608
void 
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   609
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4 (std::string prefix, uint32_t nodeid, uint32_t interface)
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   610
{
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   611
  EnableAsciiIpv4Impl (Ptr<OutputStreamObject> (), prefix, nodeid, interface);
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   612
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   613
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   614
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   615
// Private API
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   616
//
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   617
void 
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   618
AsciiTraceUserHelperForIpv4::EnableAsciiIpv4Impl (
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   619
  Ptr<OutputStreamObject> stream, 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   620
  std::string prefix, 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   621
  uint32_t nodeid, 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   622
  uint32_t interface)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   623
{
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   624
  NodeContainer n = NodeContainer::GetGlobal ();
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   625
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   626
  for (NodeContainer::Iterator i = n.Begin (); i != n.End (); ++i)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   627
    {
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   628
      Ptr<Node> node = *i;
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   629
      if (node->GetId () != nodeid) 
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   630
        {
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   631
          continue;
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   632
        }
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   633
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   634
      Ptr<Ipv4> ipv4 = node->GetObject<Ipv4> ();
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   635
      if (ipv4)
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   636
        {
6027
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   637
          EnableAsciiIpv4Internal (stream, prefix, ipv4, interface);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   638
        }
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   639
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   640
      return;
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   641
    }
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   642
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   643
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   644
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   645
// Public API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   646
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   647
void 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   648
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6 (std::string prefix, Ptr<Ipv6> ipv6, uint32_t interface)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   649
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   650
  EnableAsciiIpv6Internal (Ptr<OutputStreamObject> (), prefix, ipv6, interface);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   651
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   652
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   653
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   654
// Public API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   655
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   656
void 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   657
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6 (Ptr<OutputStreamObject> stream, Ptr<Ipv6> ipv6, uint32_t interface)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   658
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   659
  EnableAsciiIpv6Internal (stream, std::string (), ipv6, interface);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   660
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   661
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   662
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   663
// Public API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   664
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   665
void 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   666
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6 (std::string prefix, std::string ipv6Name, uint32_t interface)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   667
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   668
  EnableAsciiIpv6Impl (Ptr<OutputStreamObject> (), prefix, ipv6Name, interface);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   669
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   670
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   671
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   672
// Public API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   673
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   674
void 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   675
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6 (Ptr<OutputStreamObject> stream, std::string ipv6Name, uint32_t interface)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   676
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   677
  EnableAsciiIpv6Impl (stream, std::string (), ipv6Name, interface);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   678
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   679
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   680
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   681
// Private API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   682
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   683
void 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   684
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6Impl (
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   685
  Ptr<OutputStreamObject> stream, 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   686
  std::string prefix, 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   687
  std::string ipv6Name, 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   688
  uint32_t interface)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   689
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   690
  Ptr<Ipv6> ipv6 = Names::Find<Ipv6> (ipv6Name);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   691
  EnableAsciiIpv6Internal (stream, prefix, ipv6, interface);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   692
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   693
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   694
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   695
// Public API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   696
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   697
void 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   698
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6 (std::string prefix, Ipv6InterfaceContainer c)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   699
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   700
  EnableAsciiIpv6Impl (Ptr<OutputStreamObject> (), prefix, c);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   701
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   702
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   703
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   704
// Public API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   705
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   706
void 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   707
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6 (Ptr<OutputStreamObject> stream, Ipv6InterfaceContainer c)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   708
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   709
  EnableAsciiIpv6Impl (stream, std::string (), c);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   710
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   711
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   712
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   713
// Private API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   714
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   715
void 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   716
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6Impl (Ptr<OutputStreamObject> stream, std::string prefix, Ipv6InterfaceContainer c)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   717
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   718
  for (Ipv6InterfaceContainer::Iterator i = c.Begin (); i != c.End (); ++i)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   719
    {
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   720
      std::pair<Ptr<Ipv6>, uint32_t> pair = *i;
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   721
      EnableAsciiIpv6Internal (stream, prefix, pair.first, pair.second);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   722
    }
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   723
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   724
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   725
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   726
// Public API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   727
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   728
void
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   729
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6 (std::string prefix, NodeContainer n)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   730
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   731
  EnableAsciiIpv6Impl (Ptr<OutputStreamObject> (), prefix, n);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   732
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   733
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   734
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   735
// Public API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   736
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   737
void
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   738
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6 (Ptr<OutputStreamObject> stream, NodeContainer n)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   739
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   740
  EnableAsciiIpv6Impl (stream, std::string (), n);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   741
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   742
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   743
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   744
// Private API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   745
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   746
void
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   747
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6Impl (Ptr<OutputStreamObject> stream, std::string prefix, NodeContainer n)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   748
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   749
  for (NodeContainer::Iterator i = n.Begin (); i != n.End (); ++i)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   750
    {
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   751
      Ptr<Node> node = *i;
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   752
      Ptr<Ipv6> ipv6 = node->GetObject<Ipv6> ();
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   753
      if (ipv6)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   754
        {
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   755
          for (uint32_t j = 0; j < ipv6->GetNInterfaces (); ++j)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   756
            {
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   757
              EnableAsciiIpv6Internal (stream, prefix, ipv6, j);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   758
            }
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   759
        }
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   760
    }
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   761
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   762
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   763
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   764
// Public API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   765
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   766
void
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   767
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6All (std::string prefix)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   768
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   769
  EnableAsciiIpv6Impl (Ptr<OutputStreamObject> (), prefix, NodeContainer::GetGlobal ());
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   770
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   771
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   772
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   773
// Public API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   774
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   775
void
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   776
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6All (Ptr<OutputStreamObject> stream)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   777
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   778
  EnableAsciiIpv6Impl (stream, std::string (), NodeContainer::GetGlobal ());
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   779
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   780
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   781
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   782
// Public API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   783
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   784
void 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   785
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6 (Ptr<OutputStreamObject> stream, uint32_t nodeid, uint32_t interface)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   786
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   787
  EnableAsciiIpv6Impl (stream, std::string (), nodeid, interface);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   788
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   789
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   790
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   791
// Public API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   792
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   793
void 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   794
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6 (std::string prefix, uint32_t nodeid, uint32_t interface)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   795
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   796
  EnableAsciiIpv6Impl (Ptr<OutputStreamObject> (), prefix, nodeid, interface);
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   797
}
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   798
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   799
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   800
// Private API
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   801
//
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   802
void 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   803
AsciiTraceUserHelperForIpv6::EnableAsciiIpv6Impl (
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   804
  Ptr<OutputStreamObject> stream, 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   805
  std::string prefix, 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   806
  uint32_t nodeid, 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   807
  uint32_t interface)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   808
{
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   809
  NodeContainer n = NodeContainer::GetGlobal ();
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   810
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   811
  for (NodeContainer::Iterator i = n.Begin (); i != n.End (); ++i)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   812
    {
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   813
      Ptr<Node> node = *i;
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   814
      if (node->GetId () != nodeid) 
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   815
        {
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   816
          continue;
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   817
        }
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   818
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   819
      Ptr<Ipv6> ipv6 = node->GetObject<Ipv6> ();
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   820
      if (ipv6)
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   821
        {
8ed838dd0be5 add ipv6
Craig Dowell <craigdo@ee.washington.edu>
parents: 6017
diff changeset
   822
          EnableAsciiIpv6Internal (stream, prefix, ipv6, interface);
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   823
        }
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   824
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   825
      return;
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   826
    }
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   827
}
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   828
6011
3fd7841b9c20 ascii trace additions
Craig Dowell <craigdo@ee.washington.edu>
parents:
diff changeset
   829
} // namespace ns3
6017
050fa2b861df merge trace helper files
Craig Dowell <craigdo@ee.washington.edu>
parents: 6014
diff changeset
   830