api: Major API change. OnInterest/OnData callbacks now use just references, not shared pointers
If shared pointer is necessary, it can be obtained using
.shared_from_this() on Interest or Data object.
This commit also corrects all internal uses of expressInterest/setIntersetFilter.
Change-Id: I20207a5789fd189902f2c6e3827260b6b27a2514
diff --git a/tools/ndncatchunks3.cpp b/tools/ndncatchunks3.cpp
index 6bac64a..c912f26 100644
--- a/tools/ndncatchunks3.cpp
+++ b/tools/ndncatchunks3.cpp
@@ -21,14 +21,6 @@
#include "face.hpp"
-#include <stdexcept>
-#include <iostream>
-
-#if NDN_CPP_HAVE_CXX11
-// In the std library, the placeholders are in a different namespace than boost.
-using namespace ndn::func_lib::placeholders;
-#endif
-
class Consumer
{
public:
@@ -51,11 +43,10 @@
private:
void
- on_data (const ndn::ptr_lib::shared_ptr<const ndn::Interest> &interest,
- const ndn::ptr_lib::shared_ptr<ndn::Data> &data);
+ on_data (const ndn::Interest& interest, ndn::Data& data);
void
- on_timeout (const ndn::ptr_lib::shared_ptr<const ndn::Interest> &interest);
+ on_timeout (const ndn::Interest& interest);
ndn::Face m_face;
ndn::Name m_data_name;
@@ -83,8 +74,8 @@
inst.setMustBeFresh (m_mustBeFresh);
m_face.expressInterest (inst,
- ndn::func_lib::bind (&Consumer::on_data, this, _1, _2),
- ndn::func_lib::bind (&Consumer::on_timeout, this, _1));
+ ndn::bind (&Consumer::on_data, this, _1, _2),
+ ndn::bind (&Consumer::on_timeout, this, _1));
}
// processEvents will block until the requested data received or timeout occurs
@@ -97,10 +88,10 @@
}
void
-Consumer::on_data (const ndn::ptr_lib::shared_ptr<const ndn::Interest>& interest, const ndn::ptr_lib::shared_ptr<ndn::Data>& data)
+Consumer::on_data (const ndn::Interest& interest, ndn::Data& data)
{
- const ndn::Block& content = data->getContent ();
- const ndn::Name& name = data->getName ();
+ const ndn::Block& content = data.getContent ();
+ const ndn::Name& name = data.getName ();
if (m_output)
{
@@ -124,14 +115,14 @@
inst.setMustBeFresh (m_mustBeFresh);
m_face.expressInterest (inst,
- ndn::func_lib::bind (&Consumer::on_data, this, _1, _2),
- ndn::func_lib::bind (&Consumer::on_timeout, this, _1));
+ ndn::bind (&Consumer::on_data, this, _1, _2),
+ ndn::bind (&Consumer::on_timeout, this, _1));
}
}
void
-Consumer::on_timeout (const ndn::ptr_lib::shared_ptr<const ndn::Interest>& interest)
+Consumer::on_timeout (const ndn::Interest& interest)
{
//XXX: currently no retrans
std::cerr << "TIMEOUT: last interest sent for segment #" << (m_next_seg - 1) << std::endl;