![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2005 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: smConnection.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtSmRtiConnection_H_ 00013 #define DtSmRtiConnection_H_ 1 00014 00015 #include <vlutil/vlString.h> 00016 #include <vlutil/vlTime.h> 00017 #include <list> 00018 #include <assert.h> 00019 #include "connection.h" 00020 #include "rtiSmSocket.h" 00021 #include <vlutil/vlFedTarget.h> 00022 00023 class DT_DLL_LRC DtSmRtiConnection : public DtRtiConnection 00024 { 00025 public: 00026 00028 DtSmRtiConnection(DtRtiSmSocket * socket); 00029 00031 virtual ~DtSmRtiConnection(); 00032 00037 virtual int send(const DtRtiMsg& msg, 00038 const MAKRti::DtInetAddr& addr = MAKRti::DtInetAddr::inaddrAny()); 00039 00041 virtual int send(const DtRtiMsg& msg, MAKRti::DtTransportType transport, 00042 const MAKRti::DtInetAddr& addr = MAKRti::DtInetAddr::inaddrAny(), 00043 unsigned int priority = 0); 00044 00047 virtual bool flush(); 00048 00053 virtual int getMessageNetInfo(MAKRti::DtInetAddr *addr, MAKRti::DtTransportType *trans, 00054 DtU32 *priority = NULL); 00055 00057 virtual bool isReliable(); 00058 00061 virtual int waitForMessages(MAKRti::DtTime waitTime = 0.0); 00062 00065 virtual int waitUntilFull(MAKRti::DtTime waitTime = 0.0); 00066 00070 virtual bool sm_shutdown(bool ruthless = false); 00071 00073 virtual int subscriberCount() const; 00074 00075 protected: 00076 00077 DtRtiSmSocket *mySmSocket; 00078 00080 typedef std::list< DtRtiMsg* > DtOutboundPendingList; 00081 DtOutboundPendingList myObPendingMessages; 00082 00083 }; 00084 00085 #endif