cs: Implementing fake CS

refs #1129

Change-Id: I1aa2e9dcea5a8f298b254f13ad651ced22118471
This commit is contained in:
Junxiao Shi authored and Alexander Afanasyev committed 2014-01-24 10:19:51 -08:00
1 parent 1a2a856733
commit 0fcb41e6de
5 files changed
+134 -3

No files matched your search

+23
View File
@@ -0,0 +1,23 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
* Copyright (C) 2014 Named Data Networking Project
* See COPYING for copyright and distribution information.
*/
#ifndef NFD_TABLE_CS_ENTRY_H
#define NFD_TABLE_CS_ENTRY_H
#include <boost/utility.hpp>
namespace ndn {
namespace cs {
/** \class Entry
* \brief represents a CS entry
*/
class Entry : boost::noncopyable
{
};
};//namespace cs
};//namespace ndn
#endif//NFD_TABLE_CS_ENTRY_H
+33
View File
@@ -0,0 +1,33 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
* Copyright (C) 2014 Named Data Networking Project
* See COPYING for copyright and distribution information.
*/
// XXX This is a fake CS that does not cache anything.
#include "cs.hpp"
namespace ndn {
Cs::Cs()
{
}
Cs::~Cs()
{
}
bool
Cs::insert(boost::shared_ptr<Data> data)
{
return false;
}
boost::shared_ptr<cs::Entry>
Cs::find(const Interest& interest)
{
return boost::shared_ptr<cs::Entry>();
}
};//namespace ndn
+43
View File
@@ -0,0 +1,43 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
* Copyright (C) 2014 Named Data Networking Project
* See COPYING for copyright and distribution information.
*/
#ifndef NFD_TABLE_CS_H
#define NFD_TABLE_CS_H
#include <boost/shared_ptr.hpp>
#include <ndn-cpp-dev/interest.hpp>
#include <ndn-cpp-dev/data.hpp>
#include "cs-entry.hpp"
namespace ndn {
/** \class Cs
* \brief represents the ContentStore
*/
class Cs : boost::noncopyable
{
public:
Cs();
~Cs();
/** \brief inserts a Data packet
* The caller should ensure that this Data packet is admittable,
* ie. not unsolicited from a untrusted source.
* This does not guarantee the Data is added to the cache;
* even if the Data is added, it may be removed anytime in the future.
* \return{ whether the Data is added }
*/
bool
insert(boost::shared_ptr<Data> data);
/** \brief finds the best match Data for an Interest
* \return{ the best match, if any; otherwise null }
*/
boost::shared_ptr<cs::Entry>
find(const Interest& interest);
};
};//namespace ndn
#endif//NFD_TABLE_CS_H
+26
View File
@@ -0,0 +1,26 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
* Copyright (C) 2014 Named Data Networking Project
* See COPYING for copyright and distribution information.
*/
#include "table/cs.hpp"
#include <boost/make_shared.hpp>
#include <boost/test/unit_test.hpp>
namespace ndn {
BOOST_AUTO_TEST_SUITE(TableCs)
BOOST_AUTO_TEST_CASE(FakeInsertFind)
{
Cs cs;
boost::shared_ptr<Data> data = boost::make_shared<Data>();
BOOST_CHECK_EQUAL(cs.insert(data), false);
Interest interest;
BOOST_CHECK_EQUAL(cs.find(interest).get(), static_cast<cs::Entry*>(0));
}
BOOST_AUTO_TEST_SUITE_END()
};//namespace ndn
+9 -3
View File
@@ -52,10 +52,16 @@ def configure(conf):
return
def build (bld):
bld(target = "nfd-objects",
features = "cxx",
source = bld.path.ant_glob(['daemon/**/*.cpp'], excl=['daemon/main.cpp']),
use = 'BOOST NDN_CPP',
)
bld(target = "nfd",
features = "cxx cxxprogram",
source = bld.path.ant_glob(['daemon/**/*.cpp']),
use = 'BOOST NDN_CPP',
source = 'daemon/main.cpp',
use = 'nfd-objects',
)
# Unit tests
@@ -64,7 +70,7 @@ def build (bld):
target="unit-tests",
features = "cxx cxxprogram",
source = bld.path.ant_glob(['tests/**/*.cpp']),
use = 'BOOST NDN_CPP',
use = 'nfd-objects',
includes = [".", "daemon"],
install_prefix = None,
)