ARC SDK
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
libs
data-staging
DataDelivery.h
1
#ifndef DATA_DELIVERY_H_
2
#define DATA_DELIVERY_H_
3
4
#include <list>
5
6
#include <arc/Logger.h>
7
#include <arc/Thread.h>
8
#include "DTR.h"
9
#include "DTRList.h"
10
#include "DTRStatus.h"
11
12
namespace
DataStaging {
13
15
26
class
DataDelivery
:
public
DTRCallback
{
27
28
private
:
29
31
Arc::SimpleCondition
dtr_list_lock;
32
34
class
delivery_pair_t;
36
std::list<delivery_pair_t*> dtr_list;
37
39
TransferParameters
transfer_params;
40
42
static
Arc::Logger
logger;
43
45
ProcessState
delivery_state;
46
48
Arc::SimpleCondition
run_signal;
49
52
Arc::SimpleCondition
cond;
53
55
static
void
start_delivery(
void
* arg);
56
58
static
void
stop_delivery(
void
* arg);
59
61
bool
delete_delivery_pair(delivery_pair_t* dp);
62
64
static
void
main_thread(
void
* arg);
66
void
main_thread(
void
);
67
69
DataDelivery
(
const
DataDelivery
&);
71
DataDelivery
& operator=(
const
DataDelivery
&);
72
73
public
:
74
76
DataDelivery
();
78
~DataDelivery
() {
stop
(); };
79
81
87
virtual
void
receiveDTR
(
DTR_ptr
request);
88
90
bool
cancelDTR
(
DTR_ptr
request);
91
93
bool
start
();
94
96
bool
stop
();
97
99
void
SetTransferParameters
(
const
TransferParameters
& params);
100
101
};
102
103
}
// namespace DataStaging
104
#endif
/*DATA_DELIVERY_H_*/
Generated on Mon Mar 4 2013 15:45:43 for ARC SDK by
1.8.3.1