他这个类的作用就辅助python中的代码可以像调用gym环境一样去调用环境的接口(get_action、step之类的)
* SetOpenGymInterface( )
* Notify ( )
* NotifySimulationEnd( )
* Ptr<OpenGymInterface> m_openGymInterface;
void
OpenGymEnv::SetOpenGymInterface(Ptr<OpenGymInterface> openGymInterface)
{
NS_LOG_FUNCTION (this);
m_openGymInterface = openGymInterface;
openGymInterface->SetGetActionSpaceCb( MakeCallback (&OpenGymEnv::GetActionSpace, this) );
openGymInterface->SetGetObservationSpaceCb( MakeCallback (&OpenGymEnv::GetObservationSpace, this) );
openGymInterface->SetGetGameOverCb( MakeCallback (&OpenGymEnv::GetGameOver, this) );
openGymInterface->SetGetObservationCb( MakeCallback (&OpenGymEnv::GetObservation, this) );
openGymInterface->SetGetRewardCb( MakeCallback (&OpenGymEnv::GetReward, this) );
openGymInterface->SetGetExtraInfoCb( MakeCallback (&OpenGymEnv::GetExtraInfo, this) );
openGymInterface->SetExecuteActionsCb( MakeCallback (&OpenGymEnv::ExecuteActions, this) );
}
class OpenGymSpace; //Space类
class OpenGymDataContainer; //数据存储(比如说Observation的值得存储)
class OpenGymEnv;
m_port(port), m_zmq_context(1), m_zmq_socket(m_zmq_context, ZMQ_REQ),
m_simEnd(false), m_stopEnvRequested(false), m_initSimMsgSent(false)
SetGetGameOverCb( MakeCallback (&OpenGymEnv::GetGameOver, entity) );
SetGetObservationCb( MakeCallback (&OpenGymEnv::GetObservation, entity) );
SetGetRewardCb( MakeCallback (&OpenGymEnv::GetReward, entity) );
SetGetExtraInfoCb( MakeCallback (&OpenGymEnv::GetExtraInfo, entity) );
SetExecuteActionsCb( MakeCallback (&OpenGymEnv::ExecuteActions, entity) );
继承OpenGymEnv ,所以一定要实现那OpenGymInterface对应的七个接口
还要求了另一些多的接口
* TxPktTrace()
* RxPktTrace
GetSsThresh()
IncreaseWindow()
PktsAcked()
CongestionStateSet()
CwndEvent()
还有一些属性用于记录AGENT
m_nodeId 哪个节点是AGENT
m_socketUuid 这个节点上的哪个socket
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- kqyc.cn 版权所有 赣ICP备2024042808号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务