Ignore:
Timestamp:
May 20, 2003, 12:10:09 PM (22 years ago)
Author:
aubourg
Message:

ring pipes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ArchTOIPipe/Kernel/ringprocessor.cc

    r2385 r2386  
    33//                               Christophe Magneville
    44//                               Reza Ansari
    5 // $Id: ringprocessor.cc,v 1.1 2003-05-19 23:31:29 aubourg Exp $
     5// $Id: ringprocessor.cc,v 1.2 2003-05-20 10:10:09 aubourg Exp $
    66
    77#include "ringprocessor.h"
    88#include "ringpipe.h"
     9#include "toimanager.h"
    910
    1011#include <iostream>
     
    3738
    3839  wontNeedRing = -1;
     40  neededRingHistory = 3;
     41  lastAWNR = -1;
     42
     43  TOIManager::getManager()->registerProcessor(this);
    3944}
    4045
     
    5762}
    5863
    59 
     64void RingProcessor::setNeededRingHistory(int nr) {
     65  neededRingHistory = nr;
     66}
    6067
    6168int RingProcessor::declareRingInput(string ring) {
     
    147154}
    148155
     156RingPipe* RingProcessor::getOutRing(string out)
     157{
     158  // recherche du nom de la sortie et verification si le toi existe deja
     159  map<string, int>::iterator i = outRingIx.find(out);
     160  if (i == outRingIx.end()) {
     161    return NULL;
     162  } else {
     163    return outRings[(*i).second];
     164  }
     165}
     166
     167
    149168
    150169Ring const* RingProcessor::getRing(int index, int i) {
     
    169188}
    170189
     190void RingProcessor::autoWontNeedRing(int iCur) {
     191  if (neededRingHistory <=0) return;
     192  if (iCur <= lastAWNR + neededRingHistory/10) return;
     193  lastAWNR = iCur;
     194  wontNeedRingBefore(iCur-neededRingHistory);
     195}
     196
    171197
    172198void RingProcessor::getRingRange(int& min, int&max) {
Note: See TracChangeset for help on using the changeset viewer.