Skip to content
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions net/net/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ ROOT_STANDARD_LIBRARY_PACKAGE(Net
TApplicationRemote.h
TApplicationServer.h
TFileStager.h
TGrid.h
TGridCollection.h
TGridJDL.h
TGridJob.h
TGridJobStatus.h
TGridJobStatusList.h
TGridResult.h
TMessage.h
TMonitor.h
TParallelMergingFile.h
Expand All @@ -34,6 +41,12 @@ ROOT_STANDARD_LIBRARY_PACKAGE(Net
src/NetErrors.cxx
src/TApplicationRemote.cxx
src/TApplicationServer.cxx
src/TGrid.cxx
src/TGridJDL.cxx
src/TGridJob.cxx
src/TGridJobStatus.cxx
src/TGridJobStatusList.cxx
src/TGridResult.cxx
src/TFileStager.cxx
src/TMessage.cxx
src/TMonitor.cxx
Expand Down
10 changes: 10 additions & 0 deletions net/net/inc/LinkDef.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@
#pragma link C++ enum ESockOptions;
#pragma link C++ enum ESendRecvOptions;

#pragma link C++ global gGrid;
#pragma link C++ global gGridJobStatusList;

#pragma link C++ class TServerSocket;
#pragma link C++ class TSocket;
#pragma link C++ class TPServerSocket;
Expand All @@ -27,6 +30,13 @@
#pragma link C++ class TSQLTableInfo;
#pragma link C++ class TSQLColumnInfo;
#pragma link C++ class TSQLMonitoringWriter;
#pragma link C++ class TGrid;
#pragma link C++ class TGridResult+;
#pragma link C++ class TGridJDL+;
#pragma link C++ class TGridJob+;
#pragma link C++ class TGridJobStatus+;
#pragma link C++ class TGridJobStatusList+;
#pragma link C++ class TGridCollection+;
#pragma link C++ class TFileStager;
#pragma link C++ class TApplicationRemote;
#pragma link C++ class TApplicationServer;
Expand Down
130 changes: 130 additions & 0 deletions net/net/inc/TGrid.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
// @(#)root/net:$Id$
// Author: Fons Rademakers 3/1/2002

/*************************************************************************
* Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/

#ifndef ROOT_TGrid
#define ROOT_TGrid

//////////////////////////////////////////////////////////////////////////
// //
// TGrid //
// //
// Abstract base class defining interface to common GRID services. //
// //
// To open a connection to a GRID use the static method Connect(). //
// The argument of Connect() is of the form: //
// <grid>://<host>[:<port>], e.g. alien://alice.cern.ch //
// Depending on the <grid> specified an appropriate plugin library //
// will be loaded which will provide the real interface. //
// //
// Related classes are TGridResult. //
// //
//////////////////////////////////////////////////////////////////////////

#include "TObject.h"

#include "TString.h"

#include "TGridJob.h"

class TGridResult;
class TGridJDL;
class TGridJob;
class TGridCollection;
class TGridJobStatusList;


class TGrid : public TObject {

protected:
TString fGridUrl; // the GRID url used to create the grid connection
TString fGrid; // type of GRID (AliEn, ...)
TString fHost; // GRID portal to which we are connected
TString fUser; // user name
TString fPw; // user passwd
TString fOptions; // options specified
Int_t fPort; // port to which we are connected

public:
TGrid() : fGridUrl(), fGrid(), fHost(), fUser(), fPw(), fOptions(), fPort(-1) {}
virtual ~TGrid() {}

const char *GridUrl() const { return fGridUrl; }
const char *GetGrid() const { return fGrid; }
const char *GetHost() const { return fHost; }
const char *GetUser() const { return fUser; }
const char *GetPw() const { return fPw; }
const char *GetOptions() const { return fOptions; }
Int_t GetPort() const { return fPort; }
virtual Bool_t IsConnected() const { return fPort == -1 ? kFALSE : kTRUE; }

virtual void Shell() { MayNotUse("Shell"); }
virtual void Stdout() { MayNotUse("Stdout"); }
virtual void Stderr() { MayNotUse("Stderr"); }

virtual TGridResult *Command(const char * /*command*/,
Bool_t /*interactive*/ = kFALSE,
UInt_t /*stream*/ = 2)
{ MayNotUse("Command"); return nullptr; }

virtual TGridResult *Query(const char * /*path*/, const char * /*pattern*/,
const char * /*conditions*/ = "", const char * /*options*/ = "")
{ MayNotUse("Query"); return nullptr; }

virtual TGridResult *LocateSites() { MayNotUse("LocalSites"); return nullptr; }

//--- Catalogue Interface
virtual TGridResult *Ls(const char* /*ldn*/ ="", Option_t* /*options*/ ="", Bool_t /*verbose*/ =kFALSE)
{ MayNotUse("Ls"); return nullptr; }
virtual const char *Pwd(Bool_t /*verbose*/ =kFALSE)
{ MayNotUse("Pwd"); return nullptr; }
virtual const char *GetHomeDirectory()
{ MayNotUse("GetHomeDirectory"); return nullptr; }
virtual Bool_t Cd(const char* /*ldn*/ ="",Bool_t /*verbose*/ =kFALSE)
{ MayNotUse("Cd"); return kFALSE; }
virtual Int_t Mkdir(const char* /*ldn*/ ="", Option_t* /*options*/ ="", Bool_t /*verbose*/ =kFALSE)
{ MayNotUse("Mkdir"); return kFALSE; }
virtual Bool_t Rmdir(const char* /*ldn*/ ="", Option_t* /*options*/ ="", Bool_t /*verbose*/ =kFALSE)
{ MayNotUse("Mkdir"); return kFALSE; }
virtual Bool_t Register(const char* /*lfn*/ , const char* /*turl*/ , Long_t /*size*/ =-1, const char* /*se*/ =nullptr, const char* /*guid*/ =nullptr, Bool_t /*verbose*/ =kFALSE)
{ MayNotUse("Mkdir"); return kFALSE; }
virtual Bool_t Rm(const char* /*lfn*/ , Option_t* /*option*/ ="", Bool_t /*verbose*/ =kFALSE)
{ MayNotUse("Mkdir"); return kFALSE; }

//--- Job Submission Interface
virtual TGridJob *Submit(const char * /*jdl*/)
{ MayNotUse("Submit"); return nullptr; }
virtual TGridJDL *GetJDLGenerator()
{ MayNotUse("GetJDLGenerator"); return nullptr; }
virtual TGridCollection *OpenCollection(const char *, UInt_t /*maxentries*/ = 1000000)
{ MayNotUse("OpenCollection"); return nullptr; }
virtual TGridCollection *OpenCollectionQuery(TGridResult * /*queryresult*/,Bool_t /*nogrouping*/ = kFALSE)
{ MayNotUse("OpenCollection"); return nullptr; }
virtual TGridJobStatusList* Ps(const char* /*options*/, Bool_t /*verbose*/ = kTRUE)
{ MayNotUse("Ps"); return nullptr; }
virtual Bool_t KillById(TString /*jobid*/)
{ MayNotUse("KillById"); return kFALSE; }
virtual Bool_t ResubmitById(TString /*jobid*/)
{ MayNotUse("ResubmitById"); return kFALSE; }
virtual Bool_t Kill(TGridJob *gridjob)
{ return ((gridjob)?KillById(gridjob->GetJobID()):kFALSE); }
virtual Bool_t Resubmit(TGridJob* gridjob)
{ return ((gridjob)?ResubmitById(gridjob->GetJobID()):kFALSE); }

//--- Load desired plugin and setup conection to GRID
static TGrid *Connect(const char *grid, const char *uid = nullptr,
const char *pw = nullptr, const char *options = nullptr);

ClassDefOverride(TGrid,0) // ABC defining interface to GRID services
};

R__EXTERN TGrid *gGrid;

#endif
118 changes: 118 additions & 0 deletions net/net/inc/TGridCollection.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
// @(#)root/net:$Id$
// Author: Andreas-Joachim Peters 2005-05-09

/*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/

#ifndef ROOT_TGridCollection
#define ROOT_TGridCollection

//////////////////////////////////////////////////////////////////////////
// //
// TGridCollection //
// //
// Class which manages collection files on the Grid. //
// //
//////////////////////////////////////////////////////////////////////////

#include "TObject.h"

class TMap;
class TFile;
class TEntryList;
class TList;
class TDSet;
class TGridResult;
class TFileCollection;


class TGridCollection : public TObject {
public:
TGridCollection() { }
virtual ~TGridCollection() { }

virtual void Reset()
{ MayNotUse("Reset"); }
virtual TMap *Next()
{ MayNotUse("Next"); return nullptr;}
virtual Bool_t Remove(TMap *)
{ MayNotUse("Remove"); return 0;}
virtual const char *GetTURL(const char * /*name*/ = "")
{ MayNotUse("GetTURL"); return nullptr;}
virtual const char *GetSURL(const char * /*name*/ = "")
{ MayNotUse("GetSURL"); return nullptr;}
virtual const char *GetLFN(const char * /*name*/ = "")
{ MayNotUse("GetLFN"); return nullptr;}
virtual Long64_t GetSize(const char * /*name*/ = "")
{ MayNotUse("GetSize"); return -1;}
virtual Bool_t IsOnline(const char * /*name*/ = "")
{ MayNotUse("IsOnline"); return 0;}
virtual Bool_t IsSelected(const char * /*name*/ = "")
{ MayNotUse("IsSelected"); return 0;}
virtual void Status()
{ MayNotUse("Status"); }
virtual void SetTag(const char * , const char * , TMap* )
{ MayNotUse("SetTag"); }
virtual Bool_t SelectFile(const char *, Int_t /*nstart*/ = -1 , Int_t /*nstop*/ = -1)
{ MayNotUse("SelectFile"); return kFALSE;}
virtual Bool_t DeselectFile(const char *, Int_t /*nstart*/ = -1, Int_t /*nstop*/ = -1)
{ MayNotUse("DeselectFile"); return kFALSE;}
virtual Bool_t InvertSelection()
{ MayNotUse("InvertSelection"); return kFALSE;}
virtual Bool_t DownscaleSelection(UInt_t /* scaler */ = 2)
{ MayNotUse("DownscaleSelection"); return kFALSE;}
virtual Bool_t ExportXML(const char *, Bool_t /*selected*/ = kTRUE, Bool_t /*online*/ = kTRUE,
const char * /*name*/ = "ROOT xml", const char * /*comment*/ = "Exported XML")
{ MayNotUse("ExportXML"); return kFALSE;}
virtual const char* GetExportUrl()
{ MayNotUse("GetExportUrl"); return nullptr;}
virtual Bool_t SetExportUrl(const char * /*exporturl*/ = nullptr)
{ MayNotUse("SetExportUrl"); return kFALSE;}
virtual void Print(Option_t * = "") const override
{ MayNotUse("Print"); }
virtual TFile *OpenFile(const char *)
{ MayNotUse("OpenFile"); return nullptr;}
virtual TList *GetFileGroupList() const
{ MayNotUse("GetFileGroupList"); return nullptr;}
virtual TEntryList *GetEntryList(const char *)
{ MayNotUse("GetEntryList"); return nullptr;}
virtual UInt_t GetNofGroups() const
{ MayNotUse("GetNofGroups"); return 0;}
virtual UInt_t GetNofGroupfiles() const
{ MayNotUse("GetNofGroupfiles"); return 0;}
virtual Bool_t OverlapCollection(TGridCollection *)
{ MayNotUse("OverlapCollection"); return 0;}
virtual void Add(TGridCollection *)
{ MayNotUse("Add");}
virtual Bool_t Stage(Bool_t /*bulk*/ = kFALSE, Option_t * /*TFileStager option*/ = "")
{ MayNotUse("Stage"); return kFALSE;}
virtual Bool_t Prepare(Bool_t /*bulk*/ = kFALSE)
{ MayNotUse("Prepare"); return kFALSE;}
virtual Bool_t CheckIfOnline(Bool_t /*bulk*/ = kFALSE)
{ MayNotUse("CheckIfOnline"); return kFALSE;}
virtual TDSet *GetDataset(const char *, const char * , const char *)
{ MayNotUse("GetDataset"); return nullptr;}
virtual TGridResult *GetGridResult(const char * /*filename*/ = "", Bool_t /*onlyonline*/ = kTRUE , Bool_t /*publicaccess*/ = kFALSE )
{ MayNotUse("GetGridResult"); return nullptr;}
virtual Bool_t LookupSUrls(Bool_t /*verbose*/ = kTRUE)
{ MayNotUse("LookupSUrls"); return kFALSE;}
virtual TList *GetTagFilterList() const
{ MayNotUse("GetTagFilterList"); return nullptr;}
virtual void SetTagFilterList(TList *)
{ MayNotUse("SetTagFilterList");}
virtual const char* GetCollectionName() const
{ MayNotUse("GetCollectionName"); return nullptr;}
virtual const char* GetInfoComment() const
{ MayNotUse("GetInfoComment"); return nullptr;}
virtual TFileCollection* GetFileCollection(const char* /*name*/ = "", const char* /*title*/ = "") const
{ MayNotUse("GetFileCollection"); return nullptr;}

ClassDefOverride(TGridCollection,1) // ABC managing collection of files on the Grid
};

#endif
78 changes: 78 additions & 0 deletions net/net/inc/TGridJDL.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
// @(#)root/net:$Id$
// Author: Jan Fiete Grosse-Oetringhaus 28/9/2004
// Jancurova.lucia@cern.ch Slovakia 29/9/2008

/*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/

#ifndef ROOT_TGridJDL
#define ROOT_TGridJDL

//////////////////////////////////////////////////////////////////////////
// //
// TGridJDL //
// //
// Abstract base class to generate JDL files for job submission to the //
// Grid. //
// //
// Related classes are TGLiteJDL //
// . //
//////////////////////////////////////////////////////////////////////////

#include "TObject.h"
#include "TString.h"
#include "TMap.h"


class TGridJDL : public TObject {
protected:
TMap fMap; // stores the key, value pairs of the JDL
TMap fDescriptionMap; // stores the key, value pairs of the JDL
public:
TGridJDL() : fMap(), fDescriptionMap() { }
virtual ~TGridJDL();

void SetValue(const char *key, const char *value);
const char *GetValue(const char *key);
void SetDescription(const char *key, const char *description);
const char *GetDescription(const char *key);
TString AddQuotes(const char *value);
void AddToSet(const char *key, const char *value);
void AddToSetDescription(const char *key, const char *description);
virtual TString Generate();
void Clear(const Option_t* = "") override;

virtual void SetExecutable(const char *value=nullptr, const char *description=nullptr) = 0;
virtual void SetArguments(const char *value=nullptr, const char *description=nullptr) = 0;
virtual void SetEMail(const char *value=nullptr, const char *description=nullptr) = 0;
virtual void SetOutputDirectory(const char *value=nullptr, const char *description=nullptr) = 0;
virtual void SetPrice(UInt_t price=1, const char *description=nullptr) = 0;
virtual void SetTTL(UInt_t ttl=72000, const char *description=nullptr) = 0;
virtual void SetJobTag(const char *jobtag=nullptr, const char *description=nullptr) = 0;
virtual void SetInputDataListFormat(const char *format="xml-single", const char *description=nullptr) = 0;
virtual void SetInputDataList(const char *list="collection.xml", const char *description=nullptr) = 0;

virtual void SetSplitMode(const char *value, UInt_t maxnumberofinputfiles=0,
UInt_t maxinputfilesize=0, const char *d1=nullptr,
const char *d2=nullptr, const char *d3=nullptr) = 0;
virtual void SetSplitArguments(const char *splitarguments=nullptr, const char *description=nullptr) = 0;
virtual void SetValidationCommand(const char *value, const char *description=nullptr) = 0;

virtual void AddToInputSandbox(const char *value=nullptr, const char *description=nullptr) = 0;
virtual void AddToOutputSandbox(const char *value=nullptr, const char *description=nullptr) = 0;
virtual void AddToInputData(const char *value=nullptr, const char *description=nullptr) = 0;
virtual void AddToInputDataCollection(const char *value=nullptr, const char *description=nullptr) = 0;
virtual void AddToRequirements(const char *value=nullptr, const char *description=nullptr) = 0;
virtual void AddToPackages(const char *name="AliRoot", const char *version="default",
const char *type="VO_ALICE", const char *description=nullptr) = 0;
virtual void AddToOutputArchive(const char *value=nullptr, const char *description=nullptr) = 0;

ClassDefOverride(TGridJDL,1) // ABC defining interface JDL generator
};

#endif
Loading
Loading