ARC SDK
DataDeliveryLocalComm.h
1 #ifndef DATADELIVERYLOCALCOMM_H_
2 #define DATADELIVERYLOCALCOMM_H_
3 
4 #include <arc/Run.h>
5 
6 #include "DataDeliveryComm.h"
7 
8 namespace DataStaging {
9 
11 
16  public:
17 
21  virtual ~DataDeliveryLocalComm();
22 
24  virtual void PullStatus();
25 
27  static bool CheckComm(DTR_ptr dtr, std::vector<std::string>& allowed_dirs, std::string& load_avg);
28 
30  virtual operator bool() const { return (child_ != NULL); };
32  virtual bool operator!() const { return (child_ == NULL); };
33 
34  private:
36  Arc::Run* child_;
38  std::string stdin_;
40  std::string tmp_proxy_;
42  Arc::Time last_comm;
43  };
44 
45 } // namespace DataStaging
46 
47 #endif /* DATADELIVERYLOCALCOMM_H_ */
A class for storing and manipulating times.
Definition: DateTime.h:125
DataDeliveryLocalComm(DTR_ptr dtr, const TransferParameters &params)
Starts child process.
Represents limits and properties of a DTR transfer. These generally apply to all DTRs.
Definition: DTR.h:91
static bool CheckComm(DTR_ptr dtr, std::vector< std::string > &allowed_dirs, std::string &load_avg)
Returns "/" since local Delivery can access everywhere.
This class starts, monitors and controls a local Delivery process.
Definition: DataDeliveryLocalComm.h:15
DataStaging contains all components for data transfer scheduling and execution.
Definition: DataDelivery.h:12
virtual ~DataDeliveryLocalComm()
This stops the child process.
This class provides an abstract interface for the Delivery layer.
Definition: DataDeliveryComm.h:27
virtual bool operator!() const
Returns true if child process does not exist.
Definition: DataDeliveryLocalComm.h:32
This class runs an external executable.
Definition: Run.h:19
virtual void PullStatus()
Read from stdout of child to get status.