コード例 #1
0
ファイル: ChunkDownload.java プロジェクト: CLao/BitNomen
  ChunkDownload(
      String dpath, String output, List<String> recentPeers, int segments, Download parent) {
    done = false;
    path = dpath;
    nSeg = segments;
    peers = recentPeers;
    segFin = new boolean[nSeg];
    doneSegs = 0;
    status = Dstatus.DOWNLOADING;
    outFile = output;
    _parent = parent;

    segDownloads = new ArrayList<SegDownloader>(segments);
    bstopped = new ArrayBlockingQueue<SegDownloader>(segments);
    active = new ArrayBlockingQueue<SegDownloader>(maxThreads);

    // Helping variables to allow a thread to blocking wait on this download.
    waitToken = new ArrayBlockingQueue<Boolean>(1);
    waitToken.add(true);
    waiters = 0;

    percentDone = 0;
  }