Package org.globus.ftp

# Class GridFTPSession

java.lang.Object
org.globus.ftp.Session
org.globus.ftp.GridFTPSession

Direct Known Subclasses:
  `TransferParams`

public class GridFTPSession extends Session
Represents parameters of an FTP session between a client and a server.

## Field Summary

Fields
Modifier and Type
Field
Description
`GSSCredential`
`credential`
`DataChannelAuthentication`
`dataChannelAuthentication`
`int`
`dataChannelProtection`
`static final int`
`MODE_EBLOCK`
Indicates Extended Block Mode for data transfer.
`int`
`parallel`
`static final int`
`PROTECTION_CLEAR`
Indicates that the data channel will carry the raw data of the file transfer, with no security applied.
`static final int`
`PROTECTION_CONFIDENTIAL`
Indicates that the data will be confidentiality protected (Currently, not support by GridFTP servers).
`static final int`
`PROTECTION_PRIVATE`
Indicates that the data will be integrity and confidentiality protected.
`static final int`
`PROTECTION_SAFE`
Indicates that the data will be integrity protected.
`static final int`
`SERVER_EACT`
server in extended active mode
`static final int`
`SERVER_EPAS`
server in extended passive mode
`HostPortList`
`serverAddressList`
This concerns local server.
`int`
`TCPBufferSize`

### Fields inherited from class org.globus.ftp.Session

`authorized, DEFAULT_MAX_WAIT, DEFAULT_WAIT_DELAY, featureList, maxWait, MODE_BLOCK, MODE_STREAM, protectionBufferSize, SERVER_ACTIVE, SERVER_DEFAULT, SERVER_PASSIVE, serverAddress, serverMode, transferMode, transferType, TYPE_ASCII, TYPE_EBCDIC, TYPE_IMAGE, TYPE_LOCAL, waitDelay`

## Constructor Summary

Constructors
Constructor
Description
`GridFTPSession()`
Sets maxWait to twice the time of DEFAULT_MAX_WAIT

## Method Summary

Modifier and Type
Method
Description
`protected void`
`compareServerMode(Session other)`
checks that active / passive sides are correctly set
`void`
`matches(Session other)`
In addition to the inherited functionality, this method also (1) checks if extended active / passive server modes are set correctly, (2) checks if Mode E is needed, and if so, checks whether it has been set.
`boolean`
`needsGridFTP()`

### Methods inherited from class org.globus.ftp.Session

`compareTransferParams`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### MODE_EBLOCK

public static final int MODE_EBLOCK
Indicates Extended Block Mode for data transfer. Used with `GridFTPClient.setMode()`.

See Also:
  - Constant Field Values

### SERVER_EPAS

public static final int SERVER_EPAS
server in extended passive mode

See Also:
  - Constant Field Values

### SERVER_EACT

public static final int SERVER_EACT
server in extended active mode

See Also:
  - Constant Field Values

### PROTECTION_CLEAR

public static final int PROTECTION_CLEAR
Indicates that the data channel will carry the raw data of the file transfer, with no security applied. Used with `setDataChannelProtection()`.

See Also:
  - Constant Field Values

### PROTECTION_SAFE

public static final int PROTECTION_SAFE
Indicates that the data will be integrity protected. Used with `setDataChannelProtection()`.

See Also:
  - Constant Field Values

### PROTECTION_CONFIDENTIAL

public static final int PROTECTION_CONFIDENTIAL
Indicates that the data will be confidentiality protected (Currently, not support by GridFTP servers). Used with `setDataChannelProtection()`.

See Also:
  - Constant Field Values

### PROTECTION_PRIVATE

public static final int PROTECTION_PRIVATE
Indicates that the data will be integrity and confidentiality protected. Used with `setDataChannelProtection()`.

See Also:
  - Constant Field Values

### dataChannelAuthentication

public DataChannelAuthentication dataChannelAuthentication

### dataChannelProtection

public int dataChannelProtection

### credential

public GSSCredential credential

### parallel

public int parallel

### TCPBufferSize

public int TCPBufferSize

### serverAddressList

public HostPortList serverAddressList
This concerns local server. if in SERVER_EPAS mode, the server listener socket list is stored here. If in SERVER_PASV mode, the server listener sockets is stored in serverAddress variable.

## Constructor Details

### GridFTPSession

public GridFTPSession()
Sets maxWait to twice the time of DEFAULT_MAX_WAIT

## Method Details

### matches

public void matches(Session other) throws ClientException
In addition to the inherited functionality, this method also (1) checks if extended active / passive server modes are set correctly, (2) checks if Mode E is needed, and if so, checks whether it has been set. If not, ClientException is thrown.

Overrides:
  `matches` in class `Session`
Throws:
  `ClientException` - if sessions do not match

### compareServerMode

protected void compareServerMode(Session other) throws ClientException
Description copied from class: `Session`
checks that active / passive sides are correctly set

Overrides:
  `compareServerMode` in class `Session`
Throws:
  `ClientException`

### needsGridFTP

public boolean needsGridFTP()

Returns:
  true if this session requires GridFTP extensions; false if it only requires vanilla FTP.