00001 #ifndef __EVENTDISTRIBUTOR_H__ 00002 #define __EVENTDISTRIBUTOR_H__ 00003 00004 /***************************************************************************** 00005 * Class: EventDistributor 00006 * Author: dlemmerm 00007 * Date: 5/31/03 00008 * Purpose: Superclass for the client/server objects for GLUE event 00009 * distribution. Defines pure virtual methods init(), loop() and 00010 * term(). Takes care of setting up the shared memory that is common 00011 * amongst both client and server. 00012 ******************************************************************************/ 00013 00014 #include <std/strings.H> 00015 00016 class EventDistributor 00017 { 00018 protected: 00019 EventDistributor( str_ptr host ); 00020 public: 00021 virtual ~EventDistributor(); 00022 00023 virtual bool init( int argc, char **argv ) = 0; 00024 virtual void loop() = 0; 00025 virtual void term() = 0; 00026 00027 protected: 00028 static const int EVT_MPI_ROOT_RANK; 00029 00030 char *_serialized_event_buffer; 00031 int _serialized_event_buffer_size; 00032 00033 str_ptr _host; 00034 }; 00035 00036 00037 #endif