Compiles, but almost everything is commented out.
diff --git a/model/interest-packet.cc b/model/interest-packet.cc
new file mode 100644
index 0000000..350095a
--- /dev/null
+++ b/model/interest-packet.cc
@@ -0,0 +1,87 @@
+/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2011 University of California, Los Angeles
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
+ */
+
+#include "interest-packet.h"
+
+namespace ns3
+{
+namespace NDNabstraction
+{
+ InterestPacket::InterestPacket ()
+ {
+ }
+ // InterestPacket::InterestPacket(const unsigned char *name, uint32_t size)
+ // :Packet(name,size)
+ // {
+ // maxNameLength = 10240;
+ // }
+
+ // uint32_t
+ // InterestPacket::GetName(unsigned char *name)
+ // {
+ // //uint32_t Packet::CopyData (uint8_t *buffer, uint32_t size) const
+ // return CopyData((uint8_t*) name, maxNameLength);
+ // }
+
+ // void
+ // InterestPacket::AddTimeout(uint32_t milliseconds)
+ // {
+ // TimeoutHeader tHeader (milliseconds);
+ // AddHeader (tHeader);
+ // }
+
+ // uint32_t
+ // InterestPacket::GetTimeout(void)
+ // {
+ // TimeoutHeader tHeader;
+ // PeekHeader(tHeader);
+ // return tHeader.GetValue();
+ // }
+
+ // void
+ // InterestPacket::RemoveTimeout(void)
+ // {
+ // TimeoutHeader tHeader;
+ // RemoveHeader(tHeader);
+ // }
+
+ // void
+ // InterestPacket::AddNonce(uint32_t nonce)
+ // {
+ // NonceHeader tHeader (nonce);
+ // AddHeader (tHeader);
+ // }
+
+ // uint32_t
+ // InterestPacket::GetNonce(void)
+ // {
+ // NonceHeader tHeader;
+ // PeekHeader(tHeader);
+ // return tHeader.GetValue();
+ // }
+
+ // void
+ // InterestPacket::RemoveNonce(void)
+ // {
+ // NonceHeader tHeader;
+ // RemoveHeader(tHeader);
+ // }
+}
+}
diff --git a/model/ndn_interestpacket.h b/model/interest-packet.h
similarity index 64%
rename from model/ndn_interestpacket.h
rename to model/interest-packet.h
index 51f2a9a..df04403 100644
--- a/model/ndn_interestpacket.h
+++ b/model/interest-packet.h
@@ -18,42 +18,43 @@
* Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#ifndef ndn_interestpacket_h
-#define ndn_interestpacket_h
+#ifndef _INTEREST_PACKET_H_
+#define _INTEREST_PACKET_H_
//#define CCN_INTEREST_LIFETIME_SEC 4
//#define CCN_INTEREST_LIFETIME_MICROSEC (CCN_INTEREST_LIFETIME_SEC * 1000000)
-#include "ns3/header.h"
+#include <ns3/header.h>
#include <ns3/packet.h>
#include <string>
-#include "ndn_timeoutheader.h"
-#include "ndn_nonceheader.h"
namespace ns3
{
namespace NDNabstraction
{
- class InterestPacket : public Packet
- {
- public:
- InterestPacket(const unsigned char *name, uint32_t size);
-
- uint32_t GetName(unsigned char *name);
-
- void AddTimeout(uint32_t milliseconds);
- uint32_t GetTimeout(void);
- void RemoveTimeout(void);
-
- void AddNonce(uint32_t nonce);
- uint32_t GetNonce(void);
- void RemoveNonce(void);
-
- uint32_t maxNameLength;
- };
+class InterestPacket : public Packet
+{
+public:
+ InterestPacket( );
+ // InterestPacket (const unsigned char *name, uint32_t size);
+
+
+ // uint32_t GetName (unsigned char *name);
+
+ // void AddTimeout (uint32_t milliseconds);
+ // uint32_t GetTimeout (void);
+ // void RemoveTimeout (void);
+
+ // void AddNonce (uint32_t nonce);
+ // uint32_t GetNonce (void);
+ // void RemoveNonce (void);
+
+ // uint32_t maxNameLength;
+
+};
}
}
-#endif
+#endif // _NDN_PACKET_H_
diff --git a/model/ndn_namebuilder.cc b/model/name-builder.cc
similarity index 97%
rename from model/ndn_namebuilder.cc
rename to model/name-builder.cc
index e907e01..2ee432a 100644
--- a/model/ndn_namebuilder.cc
+++ b/model/name-builder.cc
@@ -18,7 +18,7 @@
* Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#include "ndn_namebuilder.h"
+#include "name-builder.h"
#include <ccn/ccn.h>
using namespace std;
diff --git a/model/ndn_namebuilder.h b/model/name-builder.h
similarity index 100%
rename from model/ndn_namebuilder.h
rename to model/name-builder.h
diff --git a/model/ndn_interestpacket.cc b/model/ndn_interestpacket.cc
deleted file mode 100644
index bb3a878..0000000
--- a/model/ndn_interestpacket.cc
+++ /dev/null
@@ -1,84 +0,0 @@
-/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
-/*
- * Copyright (c) 2011 University of California, Los Angeles
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
- */
-
-#include "ndn_interestpacket.h"
-
-namespace ns3
-{
-namespace NDNabstraction
-{
- InterestPacket::InterestPacket(const unsigned char *name, uint32_t size)
- :Packet(name,size)
- {
- maxNameLength = 10240;
- }
-
- uint32_t
- InterestPacket::GetName(unsigned char *name)
- {
- //uint32_t Packet::CopyData (uint8_t *buffer, uint32_t size) const
- return CopyData((uint8_t*) name, maxNameLength);
- }
-
- void
- InterestPacket::AddTimeout(uint32_t milliseconds)
- {
- TimeoutHeader tHeader (milliseconds);
- AddHeader (tHeader);
- }
-
- uint32_t
- InterestPacket::GetTimeout(void)
- {
- TimeoutHeader tHeader;
- PeekHeader(tHeader);
- return tHeader.GetValue();
- }
-
- void
- InterestPacket::RemoveTimeout(void)
- {
- TimeoutHeader tHeader;
- RemoveHeader(tHeader);
- }
-
- void
- InterestPacket::AddNonce(uint32_t nonce)
- {
- NonceHeader tHeader (nonce);
- AddHeader (tHeader);
- }
-
- uint32_t
- InterestPacket::GetNonce(void)
- {
- NonceHeader tHeader;
- PeekHeader(tHeader);
- return tHeader.GetValue();
- }
-
- void
- InterestPacket::RemoveNonce(void)
- {
- NonceHeader tHeader;
- RemoveHeader(tHeader);
- }
-}
-}
diff --git a/model/ndn_stupidinterestgenerator.cc b/model/ndn_stupidinterestgenerator.cc
deleted file mode 100644
index 7c59f6c..0000000
--- a/model/ndn_stupidinterestgenerator.cc
+++ /dev/null
@@ -1,178 +0,0 @@
-//
-// ndn_stupidinterestgenerator.cpp
-// Abstraction
-//
-// Created by Ilya Moiseenko on 05.08.11.
-// Copyright 2011 UCLA. All rights reserved.
-//
-
-#include "ndn_stupidinterestgenerator.h"
-#include "ns3/socket.h"
-#include "ns3/socket-factory.h"
-#include "ns3/simulator.h"
-#include "ndn_interestpacket.h"
-#include "ndn_namebuilder.h"
-
-#include "ccn/ccn_charbuf.h"
-
-NS_LOG_COMPONENT_DEFINE ("StupidInterestGenerator");
-
-namespace ns3
-{
-//namespace NDNabstraction
-//{
- using namespace NDNabstraction;
-
- NS_OBJECT_ENSURE_REGISTERED (StupidInterestGenerator);
-
- TypeId
- StupidInterestGenerator::GetTypeId (void)
- {
- static TypeId tid = TypeId ("ns3::StupidInterestGenerator")
- .SetParent<Application> ()
- .AddConstructor<StupidInterestGenerator> ()
- .AddAttribute ("Remote", "The address of the destination",
- AddressValue (),
- MakeAddressAccessor (&StupidInterestGenerator::m_peer),
- MakeAddressChecker ())
- .AddAttribute ("OffTime", "Time interval between packets",
- TimeValue (Seconds (0.1)),
- MakeTimeAccessor (&StupidInterestGenerator::m_offTime),
- MakeTimeChecker ())
- .AddAttribute ("Protocol", "The type of protocol to use.",
- TypeIdValue (UdpSocketFactory::GetTypeId ()),
- MakeTypeIdAccessor (&StupidInterestGenerator::m_tid),
- MakeTypeIdChecker ())
- ;
- return tid;
- }
-
- StupidInterestGenerator::StupidInterestGenerator ()
- {
- NS_LOG_FUNCTION_NOARGS ();
- m_socket = 0;
- //m_connected = false;
- //m_residualBits = 0;
- //m_lastStartTime = Seconds (0);
- //m_totBytes = 0;
- }
-
- StupidInterestGenerator::~StupidInterestGenerator()
- {
- NS_LOG_FUNCTION_NOARGS ();
- }
-
- void
- StupidInterestGenerator::DoDispose (void)
- {
- NS_LOG_FUNCTION_NOARGS ();
-
- m_socket = 0;
- // chain up
- Application::DoDispose ();
- }
-
- // Application Methods
- void StupidInterestGenerator::StartApplication () // Called at time specified by Start
- {
- NS_LOG_FUNCTION_NOARGS ();
-
- // Create the socket if not already
- if (!m_socket)
- {
- m_socket = Socket::CreateSocket (GetNode (), m_tid);
- m_socket->Bind ();
- m_socket->Connect (m_peer);
- m_socket->SetAllowBroadcast (true);
- m_socket->ShutdownRecv ();
- }
- // Insure no pending event
- CancelEvents ();
- // If we are not yet connected, there is nothing to do here
- // The ConnectionComplete upcall will start timers at that time
- //if (!m_connected) return;
- ScheduleStartEvent ();
- }
-
- void StupidInterestGenerator::StopApplication () // Called at time specified by Stop
- {
- NS_LOG_FUNCTION_NOARGS ();
-
- CancelEvents ();
- if(m_socket != 0)
- {
- m_socket->Close ();
- }
- else
- {
- NS_LOG_WARN ("OnOffApplication found null socket to close in StopApplication");
- }
- }
-
- void StupidInterestGenerator::CancelEvents ()
- {
- NS_LOG_FUNCTION_NOARGS ();
-
- Simulator::Cancel (m_sendEvent);
- Simulator::Cancel (m_startStopEvent);
- }
-
- void StupidInterestGenerator::ScheduleStartEvent ()
- { // Schedules the event to start sending data (switch to the "On" state)
- NS_LOG_FUNCTION_NOARGS ();
-
- Time offInterval = Seconds (m_offTime);
- NS_LOG_LOGIC ("start at " << offInterval);
- m_startStopEvent = Simulator::Schedule (offInterval, &StupidInterestGenerator::StartSending, this);
- }
-
- // Event handlers
- void StupidInterestGenerator::StartSending ()
- {
- NS_LOG_FUNCTION_NOARGS ();
- //m_lastStartTime = Simulator::Now ();
- ScheduleNextTx (); // Schedule the send packet event
- //ScheduleStopEvent ();
- }
-
- void StupidInterestGenerator::StopSending ()
- {
- NS_LOG_FUNCTION_NOARGS ();
- CancelEvents ();
-
- ScheduleStartEvent ();
- }
-
- // Private helpers
- void StupidInterestGenerator::ScheduleNextTx ()
- {
- NS_LOG_FUNCTION_NOARGS ();
-
-
- Time nextTime = Seconds(0.); //send now
- m_sendEvent = Simulator::Schedule (nextTime,
- &StupidInterestGenerator::SendPacket, this);
- }
-
-
- void StupidInterestGenerator::SendPacket ()
- {
- NS_LOG_FUNCTION_NOARGS ();
- NS_LOG_LOGIC ("sending packet at " << Simulator::Now ());
- NS_ASSERT (m_sendEvent.IsExpired ());
-
- NameBuilder name;
- name("prefix1")("prefix2")("filename");
-
- const ccn_charbuf *output = name.GetName();
- Ptr<InterestPacket> packet = Create<InterestPacket>(name,(uint32_t)output->length);
- packet->AddTimeout(4000);
- UniformVariable var;
- packet->AddNonce(var.GetInteger(1,10000));
- m_socket->Send(packet);
-
- ScheduleStartEvent();
- }
-
-//}
-}
diff --git a/model/ndn_stupidinterestgenerator.h b/model/ndn_stupidinterestgenerator.h
deleted file mode 100644
index 0a8f396..0000000
--- a/model/ndn_stupidinterestgenerator.h
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// ndn_stupidinterestgenerator.h
-// Abstraction
-//
-// Created by Ilya Moiseenko on 05.08.11.
-// Copyright 2011 UCLA. All rights reserved.
-//
-
-#include "ns3/application.h"
-#include "ns3/log.h"
-#include "ns3/address.h"
-#include "ns3/random-variable.h"
-#include "ns3/nstime.h"
-#include "ns3/event-id.h"
-#include "ns3/ptr.h"
-#include <ccn/ccn.h>
-#include "ns3/udp-socket-factory.h"
-
-namespace ns3
-{
-
-
-//namespace NDNabstraction
-//{
- class Socket; //dynamic linking works in a somehow strange way
-
- class StupidInterestGenerator: public Application
- {
- public:
- static TypeId GetTypeId (void);
-
- StupidInterestGenerator ();
-
- virtual ~StupidInterestGenerator();
-
-
- protected:
- virtual void DoDispose (void);
- private:
- // inherited from Application base class.
- virtual void StartApplication (void); // Called at time specified by Start
- virtual void StopApplication (void); // Called at time specified by Stop
-
- //Time m_onTime;
- Time m_offTime;
-
- Address m_peer; // Peer address
- Ptr<Socket> m_socket;
- EventId m_startStopEvent; // Event id for next start or stop event
- EventId m_sendEvent; // Eventid of pending "send packet" event
- TypeId m_tid;
-
- //helpers
- void CancelEvents ();
-
- void Construct (Ptr<Node> n,
- const Address &remote,
- std::string tid,
- const RandomVariable& ontime,
- const RandomVariable& offtime,
- uint32_t size);
-
- // Event handlers
- void StartSending ();
- void StopSending ();
- void SendPacket ();
-
- private:
- void ScheduleNextTx ();
- void ScheduleStartEvent ();
- void ScheduleStopEvent ();
- void ConnectionSucceeded (Ptr<Socket>);
- void ConnectionFailed (Ptr<Socket>);
- void Ignore (Ptr<Socket>);
-
- };
-//}
-}