fixed issue in grpc get emane model configs that would allow key collision

This commit is contained in:
Blake Harnden 2019-12-13 14:18:13 -08:00
parent 9ada94107e
commit 9d988a4b13
3 changed files with 16 additions and 12 deletions

View file

@ -1394,22 +1394,26 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
logging.debug("get emane model configs: %s", request)
session = self.get_session(request.session_id, context)
response = core_pb2.GetEmaneModelConfigsResponse()
configs = []
for _id in session.emane.node_configurations:
if _id == -1:
continue
model_config = session.emane.node_configurations[_id]
for model_name in model_config:
model_configs = session.emane.node_configurations[_id]
for model_name in model_configs:
model = session.emane.models[model_name]
current_config = session.emane.get_model_config(_id, model_name)
config = get_config_options(current_config, model)
node_id, interface = grpcutils.parse_emane_model_id(_id)
model_config = core_pb2.GetEmaneModelConfigsResponse.ModelConfig(
model=model_name, config=config, interface=interface
node_id=node_id,
model=model_name,
interface=interface,
config=config,
)
response.configs[node_id].CopyFrom(model_config)
return response
configs.append(model_config)
return core_pb2.GetEmaneModelConfigsResponse(configs=configs)
def SaveXml(self, request, context):
"""