Retrieves information about computing elements by querying service registries and CE information systems.
More...
#include <arc/compute/ComputingServiceRetriever.h>
Retrieves information about computing elements by querying service registries and CE information systems.
The ComputingServiceRetriever queries service registries and local information systems of computing elements, creates ComputingServiceType objects from the retrieved information and besides storing those objects also sends them to all the registered consumers.
◆ ComputingServiceRetriever()
Arc::ComputingServiceRetriever::ComputingServiceRetriever |
( |
const UserConfig & |
uc, |
|
|
const std::list< Endpoint > & |
services = std::list< Endpoint >() , |
|
|
const std::list< std::string > & |
rejectedServices = std::list< std::string >() , |
|
|
const std::set< std::string > & |
preferredInterfaceNames = std::set< std::string >() , |
|
|
const std::list< std::string > & |
capabilityFilter = std::list< std::string >(1, Endpoint::GetStringForCapability(Arc::Endpoint::COMPUTINGINFO)) |
|
) |
| |
Creates a ComputingServiceRetriever with a list of services to query.
- Parameters
-
[in] | uc | the UserConfig object containing the credentails to use for connecting services |
[in] | services | a list of Endpoint objects containing the services (registries or CEs) to query |
[in] | rejectedServices | if the URL of a service matches an element in this list, the service will not be queried |
[in] | preferredInterfaceNames | when an Endpoint does not have it's GLUE2 interface name specified the class will try interfaces specified here first, and if they return no results, then all the other possible interfaces are tried |
[in] | capabilityFilter | only those ComputingServiceType objects will be sent to the consumer which has at least one of the capabilities provided here |
◆ addConsumer()
◆ addEndpoint()
void Arc::ComputingServiceRetriever::addEndpoint |
( |
const Endpoint & |
service | ) |
|
Adds a new service (registry or computing element) to query.
Depending on the type of the service, it will be added to the internal ServiceEndpointRetriever (if it's a registry) or the internal TargetInformationRetriever (if it's a computing element).
- Parameters
-
[in] | service | an Endpoint refering to a service to query |
◆ addEntity()
void Arc::ComputingServiceRetriever::addEntity |
( |
const Endpoint & |
service | ) |
|
|
inlinevirtual |
◆ getAllStatuses()
Get status of all the queried Endpoint objects.
This method returns a copy of the internal status map, and thus is only a snapshot. If you want the final status map, make sure to invoke the ComputingServiceRetriever::wait method before this one.
- Returns
- a map with Endpoint objects as keys and status objects as values.
◆ GetExecutionTargets()
void Arc::ComputingServiceRetriever::GetExecutionTargets |
( |
std::list< ExecutionTarget > & |
etList | ) |
|
|
inline |
Convenience method to generate ExectionTarget objects from the resulted ComputingServiceType objects.
Calls the class method ExectuonTarget::GetExecutionTargets with the list of retrieved ComputerServiceType objects.
- Parameters
-
[out] | etList | the generated ExecutionTargets will be put into this list |
◆ removeConsumer()
Remove a previously added consumer from this ComputingServiceRetriever.
The removed consumer will not get any more result objects
- Parameters
-
[in] | c | the consumer to be removed |
◆ wait()
void Arc::ComputingServiceRetriever::wait |
( |
void |
| ) |
|
|
inline |
Waits for all the results to arrive.
This method call will only return when all the results have arrived..
The documentation for this class was generated from the following file: