![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2005 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: forwarderFaultProcessor.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *******************************************************************************/ 00010 00011 #ifndef DtForwarderFaultProcessor_H_ 00012 #define DtForwarderFaultProcessor_H_ 00013 00014 #include "rtiExecConnectionFilter.h" 00015 #include "rtiMsConfig.h" 00016 00017 class DtForwarderNode; 00018 00035 00036 class DT_DLL_FORWARDER DtForwarderFaultProcessor 00037 { 00038 private: 00040 DtForwarderFaultProcessor(); 00041 00042 public: 00043 00045 DtForwarderFaultProcessor( DtForwarderNode* parent ); 00046 00048 virtual ~DtForwarderFaultProcessor(); 00049 00050 public: 00051 00053 static int lostConnection( const MAKRti::DtString& connName, 00054 unsigned int connID, const DtInetAddrAndPort& connAddr, void* usr ); 00055 00058 static int newConnection( const MAKRti::DtString& connName, 00059 unsigned int connID, const DtInetAddrAndPort& connAddr, void* usr ); 00060 00063 virtual bool processExecConnectDestinations ( const DtInetAddrAndPort& src, 00064 DtForwarderPort::DtAddressPortList& destinations ); 00065 00067 virtual bool isLocalGroupMember( const DtInetAddrAndPort& addr ); 00068 virtual DtInetAddrAndPort locateGroupPortal( const DtInetAddrAndPort& addr ); 00069 00071 virtual DtInetAddrAndPort localNodeAddress(); 00072 00074 virtual DtInetAddrAndPort rootForwarder(); 00075 00078 virtual DtInetAddrAndPort nextHopTowardRootForwarder(); 00079 00080 protected: 00081 00083 virtual int lostConnection( const MAKRti::DtString& connName, 00084 unsigned int connID, const DtInetAddrAndPort& connAddr ); 00085 00088 virtual int newConnection( const MAKRti::DtString& connName, 00089 unsigned int connID, const DtInetAddrAndPort& connAddr ); 00090 00092 virtual void processLostUpstreamConnection(); 00093 00094 protected: 00095 00096 DtForwarderNode* myParent; 00097 DtRtiExecConnectionFilter<DtForwarderFaultProcessor> myRtiExecMonitor; 00098 00099 }; 00100 00101 #endif //! DtForwarderFaultProcessor_H_