public static BundleList getInstance() {
      if (sInstance == null) {
        sInstance = new BundleList();
      }

      sInstance.syncWithOsgi();
      return sInstance;
    }
Exemplo n.º 2
0
  /** Format the data to StringBuffer verbosely */
  public void format_verbose(StringBuffer buf) {
    buf.append(String.format("bundle id %d:\n", bundleid_));
    buf.append(String.format("            source: %s\n", source_.str()));
    buf.append(String.format("              dest: %s\n", dest_.str()));
    buf.append(String.format("         custodian: %s\n", custodian_.str()));
    buf.append(String.format("           replyto: %s\n", replyto_.str()));
    buf.append(String.format("           prevhop: %s\n", prevhop_.str()));
    buf.append(String.format("    payload_length: %d bytes\n", payload_.length()));
    buf.append(String.format("          priority: %s\n", priority_.toString()));
    buf.append(String.format(" custody_requested: %s\n", (custody_requested_)));
    buf.append(String.format("     local_custody: %s\n", local_custody_));
    buf.append(String.format("    singleton_dest: %s\n", singleton_dest_));
    buf.append(String.format("      receive_rcpt: %s\n", receive_rcpt_));
    buf.append(String.format("      custody_rcpt: %s\n", custody_rcpt_));
    buf.append(String.format("      forward_rcpt: %s\n", forward_rcpt_));
    buf.append(String.format("     delivery_rcpt: %s\n", delivery_rcpt_));
    buf.append(String.format("     deletion_rcpt: %s\n", deletion_rcpt_));
    buf.append(String.format("    app_acked_rcpt: %s\n", app_acked_rcpt_));
    buf.append(
        String.format("       creation_ts: %d.%d\n", creation_ts_.seconds(), creation_ts_.seqno()));
    buf.append(String.format("        expiration: %d \n", expiration_));
    buf.append(String.format("       is_fragment: %s\n", is_fragment_));
    buf.append(String.format("          is_admin: %s\n", is_admin_));
    buf.append(String.format("   do_not_fragment: %s\n", do_not_fragment_));
    buf.append(String.format("       orig_length: %d\n", orig_length_));
    buf.append(String.format("       frag_offset: %d\n", frag_offset_));
    buf.append("\n");

    buf.append("forwarding log:\n");
    fwdlog_.dump(buf);
    buf.append("\n");

    lock_.lock();
    try {
      buf.append(String.format("queued on %d lists:\n", mappings_.size()));
      Iterator<BundleList> map_itr = mappings_.iterator();
      while (map_itr.hasNext()) {
        BundleList list = map_itr.next();
        buf.append(String.format("\t%s\n", list.name()));
      }

      buf.append("\nblocks:");

      Iterator<BlockInfo> block_itr = recv_blocks_.iterator();
      while (block_itr.hasNext()) {
        BlockInfo block = block_itr.next();
        buf.append(String.format("type %s", block.type().toString()));
        if (block.data_offset() == 0) buf.append("(runt)");
        else {
          if (!block.complete()) {
            buf.append("(incomplete)");
          }
          buf.append(String.format("data length: %d", block.full_length()));
        }
      }

    } finally {
      lock_.unlock();
    }

    buf.append("\n");
  }