cparsimprotocolbase.h

00001 //=========================================================================
00002 //  CPARSIMPROTOCOLBASE.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 __CPARSIMPROTOCOLBASE_H__
00021 #define __CPARSIMPROTOCOLBASE_H__
00022 
00023 #include "cparsimsynchr.h"
00024 
00025 // forward declarations
00026 class cCommBuffer;
00027 
00034 class cParsimProtocolBase : public cParsimSynchronizer
00035 {
00036   protected:
00037     // process whatever comes from other partitions -- nonblocking
00038     virtual void receiveNonblocking();
00039 
00040     // process whatever comes from other partitions -- blocking
00041     // (normally returns true; false is returned if blocking was interrupted by the user)
00042     virtual bool receiveBlocking();
00043 
00044     // process buffers coming from other partitions
00045     virtual void processReceivedBuffer(cCommBuffer *buffer, int tag, int sourceProcId);
00046 
00047     // process cMessages received from other partitions
00048     virtual void processReceivedMessage(cMessage *msg, int destModuleId, int destGateId, int sourceProcId);
00049 
00050   public:
00054     cParsimProtocolBase();
00055 
00059     virtual ~cParsimProtocolBase();
00060 
00064     virtual void processOutgoingMessage(cMessage *msg, int procId, int moduleId, int gateId, void *data);
00065 };
00066 
00067 #endif
00068 

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