Package org.dcache.xrootd.tpc
Class XrootdTpcInfo
- java.lang.Object
-
- org.dcache.xrootd.tpc.XrootdTpcInfo
-
public class XrootdTpcInfo extends java.lang.ObjectMetadata established via interaction between user client, source and destination in a third-party copy, occurring prior to the launching of an internal third-party copy operation.
Used to verify and coordinate the open and close requests.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classXrootdTpcInfo.Status
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringADLER32static java.lang.StringAUTHZstatic java.lang.StringCHECKSUMstatic java.lang.StringCLIENTstatic java.lang.StringCOPYstatic java.lang.StringCRC32static java.lang.StringDLGstatic java.lang.StringDLGONstatic java.lang.StringDSTstatic java.lang.StringLOGICAL_NAMEstatic java.lang.StringMD5static java.lang.StringPLACEMENTOpaque string name-value constant values.static java.lang.StringRENDEZVOUS_KEYstatic java.lang.StringSCGIThis is the scgi added for delegation purposes.static java.lang.StringSIZE_IN_BYTESstatic java.lang.StringSPRThis protocol should be used in conjunction with server-side settings to determine whether the TPC client should use TLS (= 'xroots').static java.lang.StringSRCstatic java.lang.StringSTAGEOpaque string name-value keys.static java.lang.StringSTRstatic java.lang.StringTIME_TO_LIVEstatic java.lang.StringTPR
-
Constructor Summary
Constructors Constructor Description XrootdTpcInfo(java.lang.String key)XrootdTpcInfo(java.util.Map<java.lang.String,java.lang.String> opaque)Initializes everything from the map instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description XrootdTpcInfoaddInfoFromOpaque(java.lang.String slfn, java.util.Map<java.lang.String,java.lang.String> opaque)Used in a two-phase sequence (client, server), to add information incrementally.longcomputeFileSize()XrootdTpcInfocopyForRedirect(InboundRedirectResponse response)Saves relevant fields which should remain the same, and constructs new source endpoint info.java.lang.StringgetCks()longgetCreatedTime()java.io.SerializablegetDelegatedProxy()org.dcache.xrootd.tpc.XrootdTpcInfo.DelegationgetDlgon()java.lang.StringgetDst()java.lang.StringgetExternal()intgetFd()java.lang.StringgetKey()java.lang.StringgetLfn()java.lang.StringgetLoginToken()java.lang.StringgetOrg()java.lang.StringgetSourceToken()java.lang.StringgetSrc()java.lang.StringgetSrcHost()java.lang.IntegergetSrcPort()XrootdTpcInfo.StatusgetStatus()java.lang.LonggetTtl()booleanisExpired()booleanisTls()voidsetAsize(long asize)voidsetCks(java.lang.String cks)voidsetDelegatedProxy(java.io.Serializable delegatedProxy)voidsetDst(java.lang.String dst)voidsetFd(int fd)voidsetFileStatus(FileStatus fileStatus)voidsetLfn(java.lang.String lfn)voidsetLoginToken(java.lang.String loginToken)voidsetOrg(java.lang.String org)voidsetSrc(java.lang.String src)voidsetSrcHost(java.lang.String srcHost)voidsetSrcPort(java.lang.Integer srcPort)voidsetStatus(XrootdTpcInfo.Status status)voidsetTtl(java.lang.Long ttl)java.lang.StringtoString()XrootdTpcInfo.Statusverify(java.lang.String dst, java.lang.String slfn, java.lang.String org)
-
-
-
Field Detail
-
STAGE
public static final java.lang.String STAGE
Opaque string name-value keys.
- See Also:
- Constant Field Values
-
RENDEZVOUS_KEY
public static final java.lang.String RENDEZVOUS_KEY
- See Also:
- Constant Field Values
-
SRC
public static final java.lang.String SRC
- See Also:
- Constant Field Values
-
DLG
public static final java.lang.String DLG
- See Also:
- Constant Field Values
-
DLGON
public static final java.lang.String DLGON
- See Also:
- Constant Field Values
-
DST
public static final java.lang.String DST
- See Also:
- Constant Field Values
-
LOGICAL_NAME
public static final java.lang.String LOGICAL_NAME
- See Also:
- Constant Field Values
-
CLIENT
public static final java.lang.String CLIENT
- See Also:
- Constant Field Values
-
CHECKSUM
public static final java.lang.String CHECKSUM
- See Also:
- Constant Field Values
-
TIME_TO_LIVE
public static final java.lang.String TIME_TO_LIVE
- See Also:
- Constant Field Values
-
SIZE_IN_BYTES
public static final java.lang.String SIZE_IN_BYTES
- See Also:
- Constant Field Values
-
STR
public static final java.lang.String STR
- See Also:
- Constant Field Values
-
TPR
public static final java.lang.String TPR
- See Also:
- Constant Field Values
-
SPR
public static final java.lang.String SPR
This protocol should be used in conjunction with server-side settings to determine whether the TPC client should use TLS (= 'xroots').- See Also:
- Constant Field Values
-
SCGI
public static final java.lang.String SCGI
This is the scgi added for delegation purposes. From the SLAC documentation: The CGI information from the source URL. This element needs to be specified only if a) delegation is being used and b) meaningful CGI is present on the source URL (see the notes on the definition of meaningful). Since a CGI string may not be the value of a CGI element, all ampersands in scgi should be converted to tab characters. The destination server is responsible for converting the tabs to ampersands before initiating the copy.- See Also:
- Constant Field Values
-
PLACEMENT
public static final java.lang.String PLACEMENT
Opaque string name-value constant values.
- See Also:
- Constant Field Values
-
COPY
public static final java.lang.String COPY
- See Also:
- Constant Field Values
-
ADLER32
public static final java.lang.String ADLER32
- See Also:
- Constant Field Values
-
CRC32
public static final java.lang.String CRC32
- See Also:
- Constant Field Values
-
MD5
public static final java.lang.String MD5
- See Also:
- Constant Field Values
-
AUTHZ
public static final java.lang.String AUTHZ
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
XrootdTpcInfo
public XrootdTpcInfo(java.lang.String key)
-
XrootdTpcInfo
public XrootdTpcInfo(java.util.Map<java.lang.String,java.lang.String> opaque) throws ParseExceptionInitializes everything from the map instance. Calling this constructor implies a READY status.
Ttl is not relevant.- Throws:
ParseException
-
-
Method Detail
-
addInfoFromOpaque
public XrootdTpcInfo addInfoFromOpaque(java.lang.String slfn, java.util.Map<java.lang.String,java.lang.String> opaque) throws ParseException
Used in a two-phase sequence (client, server), to add information incrementally.
Will not overwrite existing non-null values.
- Throws:
ParseException
-
computeFileSize
public long computeFileSize() throws XrootdException- Throws:
XrootdException
-
copyForRedirect
public XrootdTpcInfo copyForRedirect(InboundRedirectResponse response) throws ParseException
Saves relevant fields which should remain the same, and constructs new source endpoint info.
- Parameters:
response- received from source.- Returns:
- new info object which can be used to instantiate new client.
- Throws:
ParseException
-
isTls
public boolean isTls()
-
verify
public XrootdTpcInfo.Status verify(java.lang.String dst, java.lang.String slfn, java.lang.String org)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
isExpired
public boolean isExpired()
-
getCks
public java.lang.String getCks()
-
getCreatedTime
public long getCreatedTime()
-
getDelegatedProxy
public java.io.Serializable getDelegatedProxy()
-
getDlgon
public org.dcache.xrootd.tpc.XrootdTpcInfo.Delegation getDlgon()
-
getSourceToken
public java.lang.String getSourceToken()
-
getExternal
public java.lang.String getExternal()
-
getDst
public java.lang.String getDst()
-
getFd
public int getFd()
-
getKey
public java.lang.String getKey()
-
getLfn
public java.lang.String getLfn()
-
getLoginToken
public java.lang.String getLoginToken()
-
getOrg
public java.lang.String getOrg()
-
getSrc
public java.lang.String getSrc()
-
getSrcHost
public java.lang.String getSrcHost()
-
getSrcPort
public java.lang.Integer getSrcPort()
-
getStatus
public XrootdTpcInfo.Status getStatus()
-
getTtl
public java.lang.Long getTtl()
-
setAsize
public void setAsize(long asize)
-
setCks
public void setCks(java.lang.String cks)
-
setDelegatedProxy
public void setDelegatedProxy(java.io.Serializable delegatedProxy)
-
setDst
public void setDst(java.lang.String dst)
-
setFileStatus
public void setFileStatus(FileStatus fileStatus)
-
setFd
public void setFd(int fd)
-
setLfn
public void setLfn(java.lang.String lfn)
-
setLoginToken
public void setLoginToken(java.lang.String loginToken)
-
setOrg
public void setOrg(java.lang.String org)
-
setSrc
public void setSrc(java.lang.String src)
-
setSrcHost
public void setSrcHost(java.lang.String srcHost)
-
setSrcPort
public void setSrcPort(java.lang.Integer srcPort)
-
setStatus
public void setStatus(XrootdTpcInfo.Status status)
-
setTtl
public void setTtl(java.lang.Long ttl)
-
-