MAK RTIspy API Documentation for HLA Evolved
rtiShmQNetMgr.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2005 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: rtiShmQNetMgr.h,v $ $Revision: 1.10 $ $State: Exp $
00007 *********************************************************************/
00010 
00011 #ifndef DtRtiShmQNetMgr_H_
00012 #define DtRtiShmQNetMgr_H_
00013 
00014 
00015 #include "rtiMsConfig.h"
00016 #include "asyConMgr.h"
00017 #include <vlutil/vlThread.h>
00018 #include "RIDparams.h"
00019 #include "multicastDiscoveryMgr.h"
00020 
00021 #include <vlutil/vlSelectParamW.h>
00022 #include <vlutil/vlHashlist.h>
00023 
00024 #include <vector>
00025 
00028 class DtRtiMsg;
00029 class DtMessageFilter;
00030 class DtSmConnectionMgr;
00031 
00040 class DT_DLL_LRC DtRtiShmQNetMgr : public DtAsyncConnectionMgr
00041 {
00042 protected:
00043    
00045    DtRtiShmQNetMgr( DtRIDParameters * params );
00046 
00047 public:
00048 
00050    virtual ~DtRtiShmQNetMgr();
00051 
00055    virtual int init(DtRIDParameters* params);
00056 
00059    virtual void setSmConnMgr( DtSmConnectionMgr *smConnMgr );
00060 
00062    virtual void enrollSmFederate( DtFederateHandle federateHandle, int fedExHandle );
00063    virtual void dropSmFederate( DtFederateHandle federateHandle, int fedExHandle );
00064 
00065 protected:
00066 
00068    DtRtiShmQNetMgr( const DtRtiShmQNetMgr& orig );
00069    DtRtiShmQNetMgr& operator=( const DtRtiShmQNetMgr& orig );
00070 
00073    virtual bool processConnection( DtRtiConnection* conn, MAKRti::DtTransportType trans );
00074    virtual DtNetReadStatus  processMsg( const DtRtiMsg& msg );
00075 
00077    virtual void applyOutboundMsgFilters( DtRtiMsg *msg );
00078    virtual DtNetReadStatus filterReliableLoopbacks( const DtRtiMsg& msg );
00079 
00082 
00084 
00085    virtual bool performMulticastDiscovery();
00086 
00087 public:
00088  
00092    static DtConnectionMgr* create(DtRIDParameters* p);
00093 
00094 protected:
00095 
00098    MAKRti::DtInetAddr          myHostIpAddr;
00099    unsigned int        myPort;
00100    DtSmConnectionMgr * mySmConnMgr;
00101 
00103    bool myCloseAllConnectionsRequested;
00104 
00109    typedef std::multimap< DtFederateHandle, int >  DtFedHandleToFedExHandleMap;
00110    DtFedHandleToFedExHandleMap  myFedHandleToFedExMap;
00111 
00115    typedef std::map< int, DtBitMask* > DtRouteMaskFilterByFedexHandle;
00116    typedef std::map< MAKRti::DtString, DtBitMask* > DtRouteMaskFilterByFedexName;
00117 
00118    DtRouteMaskFilterByFedexHandle myFedexHandleFilterList;
00119    DtRouteMaskFilterByFedexName   myFedexFilterList;
00120 
00121 };
00122 
00123 #endif //!  DtRtiShmQNetMgr_H_
00124 

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)