From 8dd7e2d70ad128c203c37354e058009bf0702245 Mon Sep 17 00:00:00 2001 From: Aref Date: Mon, 19 Aug 2024 17:24:49 -0230 Subject: [PATCH 1/2] no need locking for add new item to dictionary --- server.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/server.py b/server.py index 3b78d7d..d2b405e 100644 --- a/server.py +++ b/server.py @@ -124,21 +124,21 @@ def Register(self, register_request: pb2.RegisterRequest, context): f"agent_type: {register_request.agent_type}") with shared_lock: shared_number_of_connections.value += 1 - logging.debug(f"Number of connections {shared_number_of_connections.value}") - team_name = register_request.team_name - uniform_number = register_request.uniform_number - agent_type = register_request.agent_type - self.agents.append(shared_number_of_connections.value, GrpcAgent(agent_type, uniform_number)) - res = pb2.RegisterResponse(client_id=shared_number_of_connections.value, - team_name=team_name, - uniform_number=uniform_number, - agent_type=agent_type) + logging.debug(f"Number of connections {shared_number_of_connections.value}") + team_name = register_request.team_name + uniform_number = register_request.uniform_number + agent_type = register_request.agent_type + self.agents.append(shared_number_of_connections.value, GrpcAgent(agent_type, uniform_number)) + res = pb2.RegisterResponse(client_id=shared_number_of_connections.value, + team_name=team_name, + uniform_number=uniform_number, + agent_type=agent_type) return res def SendByeCommand(self, register_response: pb2.RegisterResponse): logging.debug(f"Bye command received unum {register_response.uniform_number}") - with shared_lock: - self.agents.pop(register_response.client_id) + # with shared_lock: + self.agents.pop(register_response.client_id) res = pb2.Empty() return res From 5ed55bfd15b0dc238ed69f06e9ed9a2a539cc705 Mon Sep 17 00:00:00 2001 From: Aref Date: Mon, 19 Aug 2024 17:35:48 -0230 Subject: [PATCH 2/2] fix bugs --- server.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server.py b/server.py index d2b405e..61123f9 100644 --- a/server.py +++ b/server.py @@ -23,11 +23,11 @@ def __init__(self, agent_type, uniform_number) -> None: self.debug_mode: bool = False def GetAction(self, state: pb2.State): - if self.agent_type == pb2.AgentType.Player: + if self.agent_type == pb2.AgentType.PlayerT: return self.GetPlayerActions(state) - elif self.agent_type == pb2.AgentType.Coach: + elif self.agent_type == pb2.AgentType.CoachT: return self.GetCoachActions(state) - elif self.agent_type == pb2.AgentType.Trainer: + elif self.agent_type == pb2.AgentType.TrainerT: return self.GetTrainerActions(state) def GetPlayerActions(self, state: pb2.State): @@ -128,14 +128,14 @@ def Register(self, register_request: pb2.RegisterRequest, context): team_name = register_request.team_name uniform_number = register_request.uniform_number agent_type = register_request.agent_type - self.agents.append(shared_number_of_connections.value, GrpcAgent(agent_type, uniform_number)) + self.agents[shared_number_of_connections.value] = GrpcAgent(agent_type, uniform_number) res = pb2.RegisterResponse(client_id=shared_number_of_connections.value, team_name=team_name, uniform_number=uniform_number, agent_type=agent_type) return res - def SendByeCommand(self, register_response: pb2.RegisterResponse): + def SendByeCommand(self, register_response: pb2.RegisterResponse, context): logging.debug(f"Bye command received unum {register_response.uniform_number}") # with shared_lock: self.agents.pop(register_response.client_id)