# clinkdelaylookahead.h

    00001 //=========================================================================
    00002 //  CLINKDELAYLOOKAHEAD.H - part of
    00003 //
    00004 //                  OMNeT++/OMNEST
    00005 //           Discrete System Simulation in C++
    00006 //
    00007 //   Written by:  Andras Varga, 2003
    00008 //
    00009 //=========================================================================
    00010
    00011 /*--------------------------------------------------------------*
    00012   Copyright (C) 2003-2005 Andras Varga
    00013   Monash University, Dept. of Electrical and Computer Systems Eng.
    00014   Melbourne, Australia
    00015
    00016   This file is distributed WITHOUT ANY WARRANTY. See the file
    00017   `license' for details on this and other legal matters.
    00018 *--------------------------------------------------------------*/
    00019
    00020 #ifndef __CLINKDELAYLOOKAHEAD_H__
    00021 #define __CLINKDELAYLOOKAHEAD_H__
    00022
    00023 #include "cnmplookahead.h"
    00024
    00030 class cLinkDelayLookahead : public cNMPLookahead
    00031 {
    00032   protected:
    00033     struct PartitionInfo
    00034     {
    00035         double minDelay;    // minimum of all link delays to given partition
    00036     };
    00037
    00038     // partition information
    00039     int numSeg;            // number of partitions
    00040     PartitionInfo *segInfo;  // partition info array, size numSeg
    00041
    00042   public:
    00046     cLinkDelayLookahead();
    00047
    00051     virtual ~cLinkDelayLookahead();
    00052
    00056     virtual void startRun();
    00057
    00061     virtual void endRun();
    00062
    00067     virtual double getCurrentLookahead(cMessage *msg, int procId, void *data);
    00068
    00072     virtual double getCurrentLookahead(int procId);
    00073 };
    00074
    00075 #endif
    00076
    00077