blob: c1c3e37b560048cc170bcbddd630a3a685650192 [file] [log] [blame]
/* -*- 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_HPP
#define NFD_TABLE_CS_HPP
#include "common.hpp"
#include "cs-entry.hpp"
namespace ndn {
/** \class Cs
* \brief represents the ContentStore
*/
class Cs : 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(shared_ptr<Data> data);
/** \brief finds the best match Data for an Interest
* \return{ the best match, if any; otherwise null }
*/
shared_ptr<Data>
find(const Interest& interest);
};
} // namespace ndn
#endif // NFD_TABLE_CS_HPP