fixed issue in grpc get emane model configs that would allow key collision
This commit is contained in:
parent
9ada94107e
commit
9d988a4b13
3 changed files with 16 additions and 12 deletions
|
@ -228,13 +228,12 @@ class CoreClient:
|
||||||
|
|
||||||
# get emane model config
|
# get emane model config
|
||||||
response = self.client.get_emane_model_configs(self.session_id)
|
response = self.client.get_emane_model_configs(self.session_id)
|
||||||
for node_id in response.configs:
|
for config in response.configs:
|
||||||
config = response.configs[node_id]
|
|
||||||
interface = None
|
interface = None
|
||||||
if config.interface != -1:
|
if config.interface != -1:
|
||||||
interface = config.interface
|
interface = config.interface
|
||||||
self.set_emane_model_config(
|
self.set_emane_model_config(
|
||||||
node_id, config.model, config.config, interface
|
config.node_id, config.model, config.config, interface
|
||||||
)
|
)
|
||||||
|
|
||||||
# get wlan configurations
|
# get wlan configurations
|
||||||
|
|
|
@ -1394,22 +1394,26 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
|
||||||
"""
|
"""
|
||||||
logging.debug("get emane model configs: %s", request)
|
logging.debug("get emane model configs: %s", request)
|
||||||
session = self.get_session(request.session_id, context)
|
session = self.get_session(request.session_id, context)
|
||||||
response = core_pb2.GetEmaneModelConfigsResponse()
|
|
||||||
|
configs = []
|
||||||
for _id in session.emane.node_configurations:
|
for _id in session.emane.node_configurations:
|
||||||
if _id == -1:
|
if _id == -1:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
model_config = session.emane.node_configurations[_id]
|
model_configs = session.emane.node_configurations[_id]
|
||||||
for model_name in model_config:
|
for model_name in model_configs:
|
||||||
model = session.emane.models[model_name]
|
model = session.emane.models[model_name]
|
||||||
current_config = session.emane.get_model_config(_id, model_name)
|
current_config = session.emane.get_model_config(_id, model_name)
|
||||||
config = get_config_options(current_config, model)
|
config = get_config_options(current_config, model)
|
||||||
node_id, interface = grpcutils.parse_emane_model_id(_id)
|
node_id, interface = grpcutils.parse_emane_model_id(_id)
|
||||||
model_config = core_pb2.GetEmaneModelConfigsResponse.ModelConfig(
|
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)
|
configs.append(model_config)
|
||||||
return response
|
return core_pb2.GetEmaneModelConfigsResponse(configs=configs)
|
||||||
|
|
||||||
def SaveXml(self, request, context):
|
def SaveXml(self, request, context):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -664,11 +664,12 @@ message GetEmaneModelConfigsRequest {
|
||||||
|
|
||||||
message GetEmaneModelConfigsResponse {
|
message GetEmaneModelConfigsResponse {
|
||||||
message ModelConfig {
|
message ModelConfig {
|
||||||
string model = 1;
|
int32 node_id = 1;
|
||||||
map<string, ConfigOption> config = 2;
|
string model = 2;
|
||||||
int32 interface = 3;
|
int32 interface = 3;
|
||||||
|
map<string, ConfigOption> config = 4;
|
||||||
}
|
}
|
||||||
map<int32, ModelConfig> configs = 1;
|
repeated ModelConfig configs = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message SaveXmlRequest {
|
message SaveXmlRequest {
|
||||||
|
|
Loading…
Add table
Reference in a new issue