def get_agent(state): socketUuid = state[0] tcpEnvType = state[1] tcpAgent = get_agent.tcpAgents.get(socketUuid, None) if tcpAgent is None: if tcpEnvType == 0: # event-based = 0 tcpAgent = TcpNewReno() else: tcpAgent = TcpTimeBased() tcpAgent.set_spaces(get_agent.state_space, get_agent.action_space) get_agent.tcpAgents[socketUuid] = tcpAgent return tcpAgent
def get_agent(obs): socketUuid = obs[0] tcpEnvType = obs[1] tcpAgent = get_agent.tcpAgents.get(socketUuid, None) if tcpAgent is None: if tcpEnvType == 0: # event-based = 0 tcpAgent = TcpNewReno() else: # time-based = 1 tcpAgent = TcpTimeBased() tcpAgent.set_spaces(get_agent.ob_space, get_agent.ac_space) get_agent.tcpAgents[socketUuid] = tcpAgent return tcpAgent
simArgs=simArgs, debug=debug) # simpler: #env = ns3env.Ns3Env() env.reset() ob_space = env.observation_space ac_space = env.action_space print("Observation space: ", ob_space, ob_space.dtype) print("Action space: ", ac_space, ac_space.dtype) stepIdx = 0 currIt = 0 tcp = TcpNewReno() tcp.set_spaces(ob_space, ac_space) try: while True: print("Start iteration: ", currIt) obs = env.reset() reward = 0 done = False info = None print("Step: ", stepIdx) print("---obs: ", obs) while True: stepIdx += 1 action = tcp.get_action(obs, reward, done, info) print("---action: ", action)