ARC SDK
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
svn-area
arc1-clean
src
hed
libs
data
DataPointDirect.h
1
// -*- indent-tabs-mode: nil -*-
2
3
#ifndef __ARC_DATAPOINTDIRECT_H__
4
#define __ARC_DATAPOINTDIRECT_H__
5
6
#include <list>
7
#include <string>
8
9
#include <arc/data/DataPoint.h>
10
11
#define MAX_PARALLEL_STREAMS 20
12
#define MAX_BLOCK_SIZE (1024 * 1024)
13
14
namespace
Arc {
15
16
class
DataBuffer;
17
class
DataCallback;
18
20
26
class
DataPointDirect
27
:
public
DataPoint
{
28
public
:
29
virtual
~
DataPointDirect
();
30
31
virtual
bool
IsIndex
()
const
;
32
virtual
bool
IsStageable
()
const
;
33
34
virtual
long
long
int
BufSize
()
const
;
35
virtual
int
BufNum
()
const
;
36
37
virtual
bool
Local
()
const
;
38
virtual
bool
ReadOnly
()
const
;
39
40
virtual
void
ReadOutOfOrder
(
bool
v);
41
virtual
bool
WriteOutOfOrder
();
42
43
virtual
void
SetAdditionalChecks
(
bool
v);
44
virtual
bool
GetAdditionalChecks
()
const
;
45
46
virtual
void
SetSecure
(
bool
v);
47
virtual
bool
GetSecure
()
const
;
48
49
virtual
void
Passive
(
bool
v);
50
51
virtual
void
Range
(
unsigned
long
long
int
start = 0,
52
unsigned
long
long
int
end = 0);
53
54
virtual
int
AddCheckSumObject
(
CheckSum
*cksum);
55
56
virtual
const
CheckSum
*
GetCheckSumObject
(
int
index)
const
;
57
58
virtual
DataStatus
Stat
(std::list<FileInfo>& files,
59
const
std::list<DataPoint*>& urls,
60
DataPointInfoType
verb =
INFO_TYPE_ALL
);
61
62
// Not supported for direct data points:
63
virtual
DataStatus
Resolve
(
bool
source);
64
virtual
DataStatus
Resolve
(
bool
source,
const
std::list<DataPoint*>& urls);
65
virtual
bool
Registered
()
const
;
66
virtual
DataStatus
PreRegister
(
bool
replication,
bool
force =
false
);
67
virtual
DataStatus
PostRegister
(
bool
replication);
68
virtual
DataStatus
PreUnregister
(
bool
replication);
69
virtual
DataStatus
Unregister
(
bool
all);
70
virtual
bool
AcceptsMeta
()
const
;
71
virtual
bool
ProvidesMeta
()
const
;
72
virtual
const
URL
&
CurrentLocation
()
const
;
73
virtual
DataPoint
*
CurrentLocationHandle
()
const
;
74
virtual
const
std::string&
CurrentLocationMetadata
()
const
;
75
virtual
DataStatus
CompareLocationMetadata
()
const
;
76
virtual
bool
NextLocation
();
77
virtual
bool
LocationValid
()
const
;
78
virtual
bool
HaveLocations
()
const
;
79
virtual
bool
LastLocation
();
80
virtual
DataStatus
AddLocation
(
const
URL
&
url
,
const
std::string& meta);
81
virtual
DataStatus
RemoveLocation
();
82
virtual
DataStatus
RemoveLocations
(
const
DataPoint
& p);
83
virtual
DataStatus
ClearLocations
();
84
virtual
void
SortLocations
(
const
std::string&
/* pattern */
,
85
const
URLMap
&
/* url_map */
) {};
86
87
protected
:
88
DataBuffer
*buffer;
89
long
long
int
bufsize;
90
int
bufnum;
91
bool
local;
92
bool
readonly;
93
bool
linkable;
94
bool
is_secure;
95
bool
force_secure;
96
bool
force_passive;
97
bool
additional_checks;
98
bool
allow_out_of_order;
99
unsigned
long
long
int
range_start;
100
unsigned
long
long
int
range_end;
101
std::list<CheckSum*> checksums;
102
DataPointDirect
(
const
URL
& url,
const
UserConfig
&
usercfg
, PluginArgument* parg);
103
};
104
105
}
// namespace Arc
106
107
#endif // __ARC_DATAPOINTDIRECT_H__
Generated on Fri Jul 5 2013 14:37:45 for ARC SDK by
1.8.3.1-20130209