MCPcopy Create free account
hub / github.com/NetSys/bess / GetModuleInfo

Method GetModuleInfo

core/bessctl.cc:1275–1303  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1273 }
1274
1275 Status GetModuleInfo(ServerContext*, const GetModuleInfoRequest* request,
1276 GetModuleInfoResponse* response) override {
1277 std::lock_guard<std::recursive_mutex> lock(mutex_);
1278
1279 const char* m_name;
1280 Module* m;
1281
1282 if (!request->name().length())
1283 return return_with_error(response, EINVAL,
1284 "Argument must be a name in str");
1285 m_name = request->name().c_str();
1286
1287 const auto& it = ModuleGraph::GetAllModules().find(request->name());
1288 if (it == ModuleGraph::GetAllModules().end()) {
1289 return return_with_error(response, ENOENT, "No module '%s' found",
1290 m_name);
1291 }
1292 m = it->second;
1293
1294 response->set_name(m->name());
1295 response->set_mclass(m->module_builder()->class_name());
1296 response->set_desc(m->GetDesc());
1297
1298 collect_igates(m, response);
1299 collect_ogates(m, response);
1300 collect_metadata(m, response);
1301
1302 return Status::OK;
1303 }
1304
1305 Status ConnectModules(ServerContext*, const ConnectModulesRequest* request,
1306 EmptyResponse* response) override {

Callers

nothing calls this directly

Calls 8

return_with_errorFunction · 0.85
collect_igatesFunction · 0.85
collect_ogatesFunction · 0.85
collect_metadataFunction · 0.85
module_builderMethod · 0.80
endMethod · 0.45
set_nameMethod · 0.45
GetDescMethod · 0.45

Tested by

no test coverage detected