コード例 #1
0
  void
  publish()
  {
    ndn::EncodingBuffer buffer;
    generate(buffer);

    const uint8_t* rawBuffer = buffer.buf();
    const uint8_t* segmentBegin = rawBuffer;
    const uint8_t* end = rawBuffer + buffer.size();

    Name segmentPrefix(m_prefix);
    segmentPrefix.appendVersion();

    uint64_t segmentNo = 0;
    do {
      const uint8_t* segmentEnd = segmentBegin + getMaxSegmentSize();
      if (segmentEnd > end) {
        segmentEnd = end;
      }

      Name segmentName(segmentPrefix);
      segmentName.appendSegment(segmentNo);

      shared_ptr<Data> data = make_shared<Data>(segmentName);
      data->setContent(segmentBegin, segmentEnd - segmentBegin);

      segmentBegin = segmentEnd;
      if (segmentBegin >= end) {
        data->setFinalBlockId(segmentName[-1]);
      }

      publishSegment(data);
      ++segmentNo;
    } while (segmentBegin < end);
  }
コード例 #2
0
ファイル: iclslam.cpp プロジェクト: gaf90/Tesi
static void printMapCPP(const QList<T> &l, const QString &name)
{
    ldbg << name;
    for(int i = 0; i < l.size(); i++) {
        const LineSegment &s = getSegment(l, i);
        ldbg << endl << "<< " << segmentPrefix(l) << "LineSegment(" << s.x1() << "," << s.y1() << "," << s.x2() << "," << s.y2() << ")";
    }
    ldbg << ";" << endl;
}