Esempio n. 1
0
  void setupBufferLengths(Scheduler buffers) {
    ListIterator<Stream> childIter;
    childIter = (ListIterator<Stream>) streamElements.iterator();
    Stream source = null;
    Stream sink = null;

    // go through all the children
    while (childIter.hasNext()) {
      // advance the iterator:
      Stream child = childIter.next();
      assert child != null;
      child.setupBufferLengths(buffers);

      source = sink;
      sink = child;

      if (source != null) {
        assert sink != null;

        int buffSize = buffers.getBufferSizeBetween(new Iterator(source), new Iterator(sink));
        assert buffSize != 0;

        StreamIt.totalBuffer += buffSize;

        source.getOutputChannel().makePassThrough();
        sink.getInputChannel().setChannelSize(buffSize);
      }
    }
  }