ARC SDK
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
libs
data-staging
DTRList.h
1
#ifndef DTRLIST_H_
2
#define DTRLIST_H_
3
4
#include <arc/Thread.h>
5
6
#include "DTR.h"
7
8
namespace
DataStaging {
9
11
17
class
DTRList
{
18
19
private
:
20
22
std::list<DTR_ptr> DTRs;
23
25
Arc::SimpleCondition
Lock;
26
28
std::set<std::string> CachingSources;
29
31
Arc::SimpleCondition
CachingLock;
32
33
public
:
34
36
bool
add_dtr
(
DTR_ptr
DTRToAdd);
37
39
bool
delete_dtr
(
DTR_ptr
DTRToDelete);
40
42
46
bool
filter_dtrs_by_owner
(
StagingProcesses
OwnerToFilter, std::list<DTR_ptr>& FilteredList);
47
49
int
number_of_dtrs_by_owner
(
StagingProcesses
OwnerToFilter);
50
52
59
bool
filter_dtrs_by_status
(
DTRStatus::DTRStatusType
StatusToFilter, std::list<DTR_ptr>& FilteredList);
60
62
66
bool
filter_dtrs_by_statuses
(
const
std::vector<DTRStatus::DTRStatusType>& StatusesToFilter,
67
std::list<DTR_ptr>& FilteredList);
68
70
75
bool
filter_dtrs_by_statuses
(
const
std::vector<DTRStatus::DTRStatusType>& StatusesToFilter,
76
std::map<
DTRStatus::DTRStatusType
, std::list<DTR_ptr> >& FilteredList);
77
79
85
bool
filter_dtrs_by_next_receiver
(
StagingProcesses
NextReceiver, std::list<DTR_ptr>& FilteredList);
86
88
93
bool
filter_pending_dtrs
(std::list<DTR_ptr>& FilteredList);
94
96
100
bool
filter_dtrs_by_job
(
const
std::string& jobid, std::list<DTR_ptr>& FilteredList);
101
103
void
caching_started
(
DTR_ptr
request);
104
106
void
caching_finished
(
DTR_ptr
request);
107
109
bool
is_being_cached
(
DTR_ptr
DTRToCheck);
110
112
bool
empty
();
113
115
std::list<std::string>
all_jobs
();
116
118
122
void
dumpState
(
const
std::string& path);
123
124
};
125
126
}
// namespace DataStaging
127
128
#endif
/*DTRLIST_H_*/
Generated on Mon Mar 4 2013 15:45:43 for ARC SDK by
1.8.3.1