Small source movements (ccn_* to ccn/). Small change of NameBuilder implementation
diff --git a/model/ccn/README b/model/ccn/README
new file mode 100644
index 0000000..6b9ef69
--- /dev/null
+++ b/model/ccn/README
@@ -0,0 +1,2 @@
+This directory contains files borrowed and adapted from CCNx implementation
+
diff --git a/model/ccn_ccn.h b/model/ccn/ccn.h
similarity index 100%
rename from model/ccn_ccn.h
rename to model/ccn/ccn.h
diff --git a/model/ccn_buf_decoder.cc b/model/ccn/ccn_buf_decoder.c
similarity index 99%
rename from model/ccn_buf_decoder.cc
rename to model/ccn/ccn_buf_decoder.c
index 8c1c5f0..5e1d713 100644
--- a/model/ccn_buf_decoder.cc
+++ b/model/ccn/ccn_buf_decoder.c
@@ -29,7 +29,7 @@
#include <string.h>
#include <stdlib.h>
-#include "ccn_ccn.h"
+#include "ccn.h"
#include "ccn_charbuf.h"
#include "ccn_coding.h"
#include "ccn_indexbuf.h"
diff --git a/model/ccn_buf_encoder.cc b/model/ccn/ccn_buf_encoder.c
similarity index 98%
rename from model/ccn_buf_encoder.cc
rename to model/ccn/ccn_buf_encoder.c
index d43f8e3..cc34551 100644
--- a/model/ccn_buf_encoder.cc
+++ b/model/ccn/ccn_buf_encoder.c
@@ -32,7 +32,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
-#include "ccn_ccn.h"
+#include "ccn.h"
#include "ccn_charbuf.h"
#include "ccn_coding.h"
#include "ccn_indexbuf.h"
diff --git a/model/ccn_charbuf.cc b/model/ccn/ccn_charbuf.c
similarity index 100%
rename from model/ccn_charbuf.cc
rename to model/ccn/ccn_charbuf.c
diff --git a/model/ccn_charbuf.h b/model/ccn/ccn_charbuf.h
similarity index 100%
rename from model/ccn_charbuf.h
rename to model/ccn/ccn_charbuf.h
diff --git a/model/ccn_coding.cc b/model/ccn/ccn_coding.c
similarity index 100%
rename from model/ccn_coding.cc
rename to model/ccn/ccn_coding.c
diff --git a/model/ccn_coding.h b/model/ccn/ccn_coding.h
similarity index 100%
rename from model/ccn_coding.h
rename to model/ccn/ccn_coding.h
diff --git a/model/ccn_indexbuf.cc b/model/ccn/ccn_indexbuf.c
similarity index 100%
rename from model/ccn_indexbuf.cc
rename to model/ccn/ccn_indexbuf.c
diff --git a/model/ccn_indexbuf.h b/model/ccn/ccn_indexbuf.h
similarity index 100%
rename from model/ccn_indexbuf.h
rename to model/ccn/ccn_indexbuf.h
diff --git a/model/ccn_name_util.cc b/model/ccn/ccn_name_util.c
similarity index 98%
rename from model/ccn_name_util.cc
rename to model/ccn/ccn_name_util.c
index 87baa11..94f3991 100644
--- a/model/ccn_name_util.cc
+++ b/model/ccn/ccn_name_util.c
@@ -25,7 +25,7 @@
#include <string.h>
#include <stdlib.h>
#include "ccn_random.h"
-#include "ccn_ccn.h"
+#include "ccn.h"
/**
* @file ccn_name_util.c
diff --git a/model/ccn_name_util.h b/model/ccn/ccn_name_util.h
similarity index 100%
rename from model/ccn_name_util.h
rename to model/ccn/ccn_name_util.h
diff --git a/model/ccn_random.cc b/model/ccn/ccn_random.c
similarity index 100%
rename from model/ccn_random.cc
rename to model/ccn/ccn_random.c
diff --git a/model/ccn_random.h b/model/ccn/ccn_random.h
similarity index 100%
rename from model/ccn_random.h
rename to model/ccn/ccn_random.h
diff --git a/model/ndn_contentpacket.h b/model/ndn_contentpacket.h
index 6e7a2e3..bd8abd0 100644
--- a/model/ndn_contentpacket.h
+++ b/model/ndn_contentpacket.h
@@ -23,7 +23,7 @@
#include "ns3/header.h"
#include <ns3/packet.h>
-#include "ccn_ccn.h"
+#include "ccn/ccn.h"
namespace ns3
{
diff --git a/model/ndn_interestpacket.cc b/model/ndn_interestpacket.cc
index 5c5fd39..66deaf2 100644
--- a/model/ndn_interestpacket.cc
+++ b/model/ndn_interestpacket.cc
@@ -62,7 +62,7 @@
InterestPacket::AddNonce(uint32_t nonce)
{
NonceHeader tHeader (nonce);
- AddHeader (tHeader);
+ AddHeader (tHeader);
}
uint32_t
diff --git a/model/ndn_namebuilder.cc b/model/ndn_namebuilder.cc
index df22e62..8f65647 100644
--- a/model/ndn_namebuilder.cc
+++ b/model/ndn_namebuilder.cc
@@ -19,28 +19,43 @@
*/
#include "ndn_namebuilder.h"
+#include <ccn/ccn.h>
-namespace ns3
+using namespace std;
+
+namespace ns3 {
+namespace NDNabstraction {
+
+NameBuilder::NameBuilder ()
{
-namespace NDNabstraction
+ m_value = ccn_charbuf_create ();
+ ccn_name_init(m_value);
+}
+
+NameBuilder::NameBuilder (const string &s)
{
- NameBuilder::NameBuilder()
- {
- m_value = ccn_charbuf_create();
- ccn_name_init(m_value);
- }
-
- ccn_charbuf*
- NameBuilder::GetName()
- {
- return m_value;
- }
-
- void
- NameBuilder::AddComponent(string s)
- {
-
- ccn_name_append_str(m_value,s.c_str());
- }
+ m_value = ccn_charbuf_create ();
+ ccn_name_init(m_value);
+ (*this) (s);
+}
+
+NameBuilder::~NameBuilder ()
+{
+ ccn_charbuf_destroy(&m_value);
+}
+
+const ccn_charbuf*
+NameBuilder::GetName () const
+{
+ return m_value;
+}
+
+NameBuilder&
+NameBuilder::operator () (const string &s)
+{
+ ccn_name_append_str (m_value,s.c_str());
+ return *this;
+}
+
}
}
diff --git a/model/ndn_namebuilder.h b/model/ndn_namebuilder.h
index b883414..1b54bfe 100644
--- a/model/ndn_namebuilder.h
+++ b/model/ndn_namebuilder.h
@@ -18,24 +18,30 @@
* Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
*/
-#include "ccn_ccn.h"
+#ifndef _NDN_NAMEBUILDER_H_
+#define _NDN_NAMEBUILDER_H_
+
#include <string>
-using namespace std;
+class ccn_charbuf;
-namespace ns3
+namespace ns3 {
+namespace NDNabstraction {
+
+class NameBuilder
{
-namespace NDNabstraction
-{
- class NameBuilder
- {
- public:
- NameBuilder();
- ccn_charbuf* GetName();
- void AddComponent(string s);
- //TODO add more overloads
- private:
- ccn_charbuf *m_value;
- };
+public:
+ NameBuilder ();
+ NameBuilder (const std::string &s);
+ ~NameBuilder ();
+
+ const ccn_charbuf* GetName () const;
+ NameBuilder& operator () (const std::string &s);
+private:
+ ccn_charbuf *m_value;
+};
+
}
}
+#endif // _NDN_NAMEBUILDER_H_
+
diff --git a/model/ndn_stupidinterestgenerator.cc b/model/ndn_stupidinterestgenerator.cc
index 629d48f..5bc1861 100644
--- a/model/ndn_stupidinterestgenerator.cc
+++ b/model/ndn_stupidinterestgenerator.cc
@@ -13,6 +13,8 @@
#include "ndn_interestpacket.h"
#include "ndn_namebuilder.h"
+#include "ccn/ccn_charbuf.h"
+
NS_LOG_COMPONENT_DEFINE ("StupidInterestGenerator");
namespace ns3
@@ -159,11 +161,9 @@
NS_LOG_LOGIC ("sending packet at " << Simulator::Now ());
NS_ASSERT (m_sendEvent.IsExpired ());
- NameBuilder name;
- name.AddComponent("prefix1");
- name.AddComponent("prefix2");
- name.AddComponent("filename");
- ccn_charbuf *output = name.GetName();
+ NameBuilder name;
+ name("prefix1")("prefix2")("filename");
+ const ccn_charbuf *output = name.GetName();
Ptr<InterestPacket> packet = Create<InterestPacket>(output->buf,(uint32_t)output->length);
packet->AddTimeout(4000);
UniformVariable var;
@@ -174,4 +174,4 @@
}
//}
-}
\ No newline at end of file
+}
diff --git a/model/ndn_stupidinterestgenerator.h b/model/ndn_stupidinterestgenerator.h
index 6407d32..0a8f396 100644
--- a/model/ndn_stupidinterestgenerator.h
+++ b/model/ndn_stupidinterestgenerator.h
@@ -13,7 +13,7 @@
#include "ns3/nstime.h"
#include "ns3/event-id.h"
#include "ns3/ptr.h"
-#include "ccn_ccn.h"
+#include <ccn/ccn.h>
#include "ns3/udp-socket-factory.h"
namespace ns3
@@ -75,4 +75,4 @@
};
//}
-}
\ No newline at end of file
+}
diff --git a/wscript b/wscript
index 1747f46..f7be7cb 100644
--- a/wscript
+++ b/wscript
@@ -1,17 +1,19 @@
## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
def build(bld):
- module = bld.create_ns3_module('NDNabstraction', ['core', 'network'])
+ module = bld.create_ns3_module('NDNabstraction', ['applications', 'core', 'network', 'internet', 'point-to-point'])
module.includes = '.'
module.source = [
+ 'model/ccn/ccn_charbuf.c',
+ 'model/ccn/ccn_name_util.c',
+ 'model/ccn/ccn_coding.c',
+ 'model/ccn/ccn_indexbuf.c',
+ 'model/ccn/ccn_random.c',
+ 'model/ccn/ccn_buf_decoder.c',
+ 'model/ccn/ccn_buf_encoder.c',
+
'model/ndnabstraction-header.cc',
- 'model/ccn_charbuf.cc',
- 'model/ccn_name_util.cc',
- 'model/ccn_coding.cc',
- 'model/ccn_indexbuf.cc',
- 'model/ccn_random.cc',
- 'model/ccn_buf_decoder.cc',
- 'model/ccn_buf_encoder.cc',
+
'model/ndn_face.cc',
'model/ndn_interestpacket.cc',
'model/ndn_contentpacket.cc',
@@ -31,13 +33,15 @@
headers = bld.new_task_gen('ns3header')
headers.module = 'NDNabstraction'
headers.source = [
+ 'model/ccn/ccn.h',
+ 'model/ccn/ccn_charbuf.h',
+ 'model/ccn/ccn_coding.h',
+ 'model/ccn/ccn_name_util.h',
+ 'model/ccn/ccn_indexbuf.h',
+ 'model/ccn/ccn_random.h',
+
'model/ndnabstraction-header.h',
- 'model/ccn_charbuf.h',
- 'model/ccn_name_util.h',
- 'model/ccn_coding.h',
- 'model/ccn_indexbuf.h',
- 'model/ccn_random.h',
- 'model/ccn_ccn.h',
+
'model/ndn_face.h',
'model/ndn_interestpacket.h',
'model/ndn_contentpacket.h',
@@ -57,3 +61,8 @@
bld.add_subdirs('examples')
#bld.ns3_python_bindings()
+ #bld.env['CXXFLAGS']=[filter(lambda x: x not in bld.env, sublist) for sublist in [['-Wall'], ['-Werror'], ['-Wextra']]]
+ # bld.env['CXXFLAGS']=[]
+ # bld.env['CFLAGS']=[]
+
+