Files
NFD/daemon/mgmt/manager-base.cpp
T
Steve DiBenedetto 3970c89293 mgmt: loosened coupling between FibManager and InternalFace
Implemented InternalFace.setInterestFilter to loosen
coupling

refs: #1138

Change-Id: Ie58daed35bc3613398c8d3fc1de8b796e29907b8
2014-02-02 19:07:18 -07:00

77 lines
1.8 KiB
C++

/* -*- 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 "manager-base.hpp"
#include "mgmt/app-face.hpp"
#include <ndn-cpp-dev/management/control-response.hpp>
namespace nfd {
NFD_LOG_INIT("ManagerBase");
ManagerBase::ManagerBase(shared_ptr<AppFace> face)
: m_face(face)
{
}
ManagerBase::~ManagerBase()
{
}
void
ManagerBase::sendResponse(const Name& name,
uint32_t code,
const std::string& text)
{
// Path 1 - runtime exception on receive's wireDecode.
// Set Data response's content payload to the
// encoded Block.
{
ndn::ControlResponse control(code, text);
const Block& encodedControl = control.wireEncode();
NFD_LOG_DEBUG("sending control response (Path 1)"
<< " Name: " << name
<< " code: " << code
<< " text: " << text);
NFD_LOG_DEBUG("sending raw control block size = " << encodedControl.size());
Data response(name);
response.setContent(encodedControl);
m_face->put(response);
}
// Path 2 - works, but not conformant to protocol.
// Encode ControlResponse and append Block as
// the last component of the name.
// {
// ndn::ControlResponse control(code, text);
// const Block& encodedControl = control.wireEncode();
// NFD_LOG_DEBUG("sending control response (Path 2)"
// << " Name: " << name
// << " code: " << code
// << " text: " << text);
// NFD_LOG_DEBUG("sending raw control block size = " << encodedControl.size());
// Name responseName(name);
// responseName.append(encodedControl);
// Data response(responseName);
// m_face->put(response);
// }
}
} // namespace nfd