| 453 | |
| 454 | |
| 455 | hashset<CSIPluginContainerInfo::Service> extractServices( |
| 456 | const CSIPluginInfo& plugin) |
| 457 | { |
| 458 | hashset<CSIPluginContainerInfo::Service> result; |
| 459 | |
| 460 | if (plugin.containers_size() > 0) { |
| 461 | foreach (const CSIPluginContainerInfo& container, plugin.containers()) { |
| 462 | for (int i = 0; i < container.services_size(); ++i) { |
| 463 | result.insert(container.services(i)); |
| 464 | } |
| 465 | } |
| 466 | } else { |
| 467 | CHECK(plugin.endpoints_size() > 0); |
| 468 | |
| 469 | foreach (const CSIPluginEndpoint& endpoint, plugin.endpoints()) { |
| 470 | result.insert(endpoint.csi_service()); |
| 471 | } |
| 472 | } |
| 473 | |
| 474 | return result; |
| 475 | } |
| 476 | |
| 477 | |
| 478 | CSIServer::CSIServer( |