![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: addrMap.h,v $ $Revision: 1.12 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtDtAddrMap_H_ 00013 #define DtDtAddrMap_H_ 00014 00015 #include "rtiMsConfig.h" 00016 #include <vlutil/vlUtil.h> 00017 #include <vlutil/vlInetAddr.h> 00018 #include <map> 00019 00020 00025 00026 class DT_DLL_LRC DtAddrMap 00027 { 00028 public: 00029 00031 DtAddrMap(long defaultHandle, float delayValue); 00032 00034 virtual ~DtAddrMap(); 00035 00037 virtual void setDelay(float delayValue); 00038 virtual float delay(); 00039 00041 virtual void addLocalAddrMap(long handle, const MAKRti::DtInetAddr& addr); 00042 virtual void removeLocalAddrMap(long handle); 00043 virtual MAKRti::DtInetAddr localAddrMap(long handle); 00044 virtual void addRemoteAddrMap(long handle, const MAKRti::DtInetAddr& addr); 00045 virtual void removeRemoteAddrMap(long handle); 00046 virtual MAKRti::DtInetAddr remoteAddrMap(long handle); 00047 00053 virtual void addAddrMapDelay(long handle); 00054 virtual void removeAddrMapDelay(long handle); 00055 virtual bool addrMapDelayExpired(long handle); 00056 00058 virtual void empty(); 00059 00060 protected: 00061 00062 float myAddressDelay; 00063 long myDefaultHandle; 00064 00065 std::map<long, MAKRti::DtInetAddr> myLocalAddr; 00066 std::map<long, MAKRti::DtInetAddr> myRemoteAddr; 00067 std::map<long, MAKRti::DtClock*> myAddrMapDelay; 00068 }; 00069 00070 inline float DtAddrMap::delay() 00071 { 00072 return myAddressDelay; 00073 } 00074 00075 #endif