cfilecomm.h

00001 //=========================================================================
00002 //  CFILECOMM.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 
00021 #include "cparsimcomm.h"
00022 #include "util.h"
00023 
00024 #ifndef __CFILECOMM_H__
00025 #define __CFILECOMM_H__
00026 
00027 
00037 class cFileCommunications : public cParsimCommunications
00038 {
00039   protected:
00040     int numPartitions;
00041     int myProcId;
00042 
00043     int seqNum;
00044     opp_string commDirPrefix;
00045     opp_string readDirPrefix;
00046     bool preserveReadFiles;
00047 
00048   public:
00052     cFileCommunications();
00053 
00057     virtual ~cFileCommunications();
00058 
00064     virtual void init();
00065 
00069     virtual void shutdown();
00070 
00074     virtual int getNumPartitions();
00075 
00079     virtual int getProcId();
00080 
00084     virtual cCommBuffer *createCommBuffer();
00085 
00089     virtual void recycleCommBuffer(cCommBuffer *buffer);
00090 
00094     virtual void send(cCommBuffer *buffer, int tag, int destination);
00095 
00100     virtual bool receiveBlocking(int filtTag, cCommBuffer *buffer, int& receivedTag, int& sourceProcId);
00101 
00107     virtual bool receiveNonblocking(int filtTag, cCommBuffer *buffer,  int& receivedTag, int& sourceProcId);
00109 };
00110 
00111 #endif
00112 
00113 

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