cnmplookahead.h

00001 //=========================================================================
00002 //  CNMPLOOKAHEAD.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 __CNMPLOOKAHEAD_H__
00021 #define __CNMPLOOKAHEAD_H__
00022 
00023 #include "cpolymorphic.h"
00024 
00025 // forward declarations
00026 class cMessage;
00027 class cSimulation;
00028 class cParsimCommunications;
00029 class cParsimPartition;
00030 
00031 
00038 class cNMPLookahead : public cPolymorphic
00039 {
00040   protected:
00041     cSimulation *sim;
00042     cParsimCommunications *comm; // TBD this is just to access numPartitions -- optimize out?
00043     cParsimPartition *partition;
00044     // cNullMessageProtocol *nullmsgprot;
00045 
00046   public:
00050     cNMPLookahead() {};
00051 
00055     virtual ~cNMPLookahead() {}
00056 
00060     void setContext(cSimulation *simul, cParsimPartition *seg, cParsimCommunications *co)
00061        {sim = simul; partition = seg; comm = co;}
00062 
00066     virtual void startRun() = 0;
00067 
00071     virtual void endRun() = 0;
00072 
00076     virtual double getCurrentLookahead(cMessage *msg, int procId, void *data) = 0;
00077 
00081     virtual double getCurrentLookahead(int procId) = 0;
00082 
00083 };
00084 
00085 #endif

Generated on Sat Oct 21 17:48:01 2006 for OMNeT++ Parallel Simulation Support by  doxygen 1.4.6