wrench::NetworkProximityService Class Reference

A network proximity service that continuously estimates inter-host latencies and can be queried for such estimates. More...

#include <NetworkProximityService.h>

Inheritance diagram for wrench::NetworkProximityService:
wrench::Service

Public Member Functions

 NetworkProximityService (std::string db_hostname, std::vector< std::string > hosts_in_network, std::map< std::string, std::string >={}, std::map< std::string, std::string >={})
 Constructor. More...
 
std::pair< double, double > getCoordinate (std::string)
 Look up the current (x,y) coordinates of a given host (only for a Vivaldi network service type) More...
 
std::vector< std::string > getHostnameList ()
 Gets the list of hosts monitored by this service (does not involve simulated network communications with the service) More...
 
std::string getNetworkProximityServiceType ()
 Get the network proximity service type. More...
 
double query (std::pair< std::string, std::string > hosts)
 Look up a proximity value in database. More...
 
- Public Member Functions inherited from wrench::Service
std::string getHostname ()
 Get the name of the host on which the service is / will be running. More...
 
double getNetworkTimeoutValue ()
 Returns the service's network timeout value. More...
 
bool getPropertyValueAsBoolean (std::string)
 Get a property of the Service as a boolean. More...
 
double getPropertyValueAsDouble (std::string)
 Get a property of the Service as a double. More...
 
std::string getPropertyValueAsString (std::string)
 Get a property of the Service as a string. More...
 
bool isUp ()
 Returns true if the service is UP, false otherwise. More...
 
void setNetworkTimeoutValue (double value)
 Sets the service's network timeout value. More...
 
void start (std::shared_ptr< Service > this_service, bool daemonize, bool auto_restart)
 Start the service. More...
 
virtual void stop ()
 Synchronously stop the service (does nothing if the service is already stopped) More...
 

Additional Inherited Members

- Public Types inherited from wrench::Service
enum  State { UP, DOWN }
 Service states. More...
 

Detailed Description

A network proximity service that continuously estimates inter-host latencies and can be queried for such estimates.

Constructor & Destructor Documentation

◆ NetworkProximityService()

wrench::NetworkProximityService::NetworkProximityService ( std::string  hostname,
std::vector< std::string >  hosts_in_network,
std::map< std::string, std::string >  property_list = {},
std::map< std::string, std::string >  messagepayload_list = {} 
)

Constructor.

Parameters
hostnamethe name of the host on which to start the service
hosts_in_networkthe hosts participating in network measurements
property_lista property list ({} means "use all defaults")
messagepayload_lista message payload list ({} means "use all defaults")

Member Function Documentation

◆ getCoordinate()

std::pair< double, double > wrench::NetworkProximityService::getCoordinate ( std::string  requested_host)

Look up the current (x,y) coordinates of a given host (only for a Vivaldi network service type)

Parameters
requested_hostthe host whose coordinates are being requested
Returns
The pair (x,y) coordinate values
Exceptions
WorkFlowExecutionException
std::runtime_error

◆ getHostnameList()

std::vector< std::string > wrench::NetworkProximityService::getHostnameList ( )

Gets the list of hosts monitored by this service (does not involve simulated network communications with the service)

Returns
a list of hostnames

◆ getNetworkProximityServiceType()

std::string wrench::NetworkProximityService::getNetworkProximityServiceType ( )

Get the network proximity service type.

Returns
a string specifying the network proximity service type

◆ query()

double wrench::NetworkProximityService::query ( std::pair< std::string, std::string >  hosts)

Look up a proximity value in database.

Parameters
hoststhe pair of hosts whose proxiity is of interest
Returns
The proximity value between the pair of hosts
Exceptions
WorkflowExecutionException
std::runtime_error

The documentation for this class was generated from the following files:
  • /Users/rafsilva/Documents/isi/workspace/wrench/wrench/include/wrench/services/network_proximity/NetworkProximityService.h
  • /Users/rafsilva/Documents/isi/workspace/wrench/wrench/src/wrench/services/network_proximity/NetworkProximityService.cpp