wrench::XRootD::Deployment

class Deployment

A class that implements the notion of an XRootD deployment. This tracks all nodes and files within the system.

Public Functions

inline Deployment(std::shared_ptr<Simulation> simulation, WRENCH_PROPERTY_COLLECTION_TYPE property_values = {}, WRENCH_MESSAGE_PAYLOADCOLLECTION_TYPE messagepayload_values = {})

Create an XRootD manager.

Parameters
  • simulation – the simulation that all nodes run in. Nodes are automatically added to this simulation as created.

  • property_values – The property values that should be used to overwrite the defaults of all Nodes (defaults to none) (unless otherwise specified)

  • messagepayload_values – The message paylaod values that should be used to overwrite the defaults of all Nodes (defaults to none) (unless otherwise specified)

std::shared_ptr<Node> createRootSupervisor(const std::string &hostname, WRENCH_PROPERTY_COLLECTION_TYPE node_property_list = {}, WRENCH_MESSAGE_PAYLOADCOLLECTION_TYPE node_messagepayload_list = {})

Create the XRootD Node that will be the root supervisor.

Parameters
  • hostname – the name of the host on which the service should run

  • node_property_list – The property list to use for the new Node, defaluts to {}

  • node_messagepayload_list – The message payload list to use for the new Node, defaults to {}

Returns

a shared pointer to the newly created Node

void deleteFile(const std::shared_ptr<DataFile> &file)

remove a specific file from the registry. DOES NOT REMOVE FILE FROM SERVERS

Parameters

file – A shared pointer to the file to remove

Throws

std::invalid_argument

std::shared_ptr<Node> getRootSupervisor()

Get the deployment’s root supervisor.

Returns

the root supervisor

void removeFileLocation(const std::shared_ptr<DataFile> &file, const std::shared_ptr<Node> &location)

remove a specific file location from the registry. DOES NOT REMOVE FILE FROM SERVER

Parameters
  • file – A shared pointer to the file the location is for

  • location – The location to remove

Throws

std::invalid_argument

unsigned int size()

get the size of the XRootD federation

Returns

the number of nodes in the federation

Public Members

int defaultTimeToLive = 1024

The max number of hops a search message can take. Used to prevent infinite loops in a poorly constructed XRootD tree.