size_t
FaceQueryStatusPublisher::generate(ndn::EncodingBuffer& outBuffer)
{
  size_t totalLength = 0;

  for (const shared_ptr<Face>& face : m_faceTable | boost::adaptors::reversed) {
    if (doesMatchFilter(face)) {
      ndn::nfd::FaceStatus status = face->getFaceStatus();
      totalLength += status.wireEncode(outBuffer);
    }
  }
  return totalLength;
}
size_t
FaceQueryStatusPublisher::generate(ndn::EncodingBuffer& outBuffer)
{
  size_t totalLength = 0;

  for (FaceTable::const_reverse_iterator i = m_faceTable.rbegin();
       i != m_faceTable.rend(); ++i) {
    const shared_ptr<Face>& face = *i;

    if (doesMatchFilter(face)) {
      ndn::nfd::FaceStatus status = face->getFaceStatus();
      totalLength += status.wireEncode(outBuffer);
    }
  }
  return totalLength;
}