Package org.globus.ftp.extended

# Class GridFTPServerFacade

java.lang.Object
org.globus.ftp.vanilla.FTPServerFacade
org.globus.ftp.extended.GridFTPServerFacade

public class GridFTPServerFacade extends FTPServerFacade

## Nested Class Summary

## Nested classes/interfaces inherited from class org.globus.ftp.vanilla.FTPServerFacade

`FTPServerFacade.LocalControlChannel`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected GridFTPSession`
`gSession`
`protected SocketPool`
`socketPool`
`protected StripeContextManager`
`stripeRetrContextManager`
`protected TransferThreadManager`
`transferThreadManager`

### Fields inherited from class org.globus.ftp.vanilla.FTPServerFacade

`ANY_PORT, dataChannelFactory, DEFAULT_QUEUE, localControlChannel, remoteControlChannel, remoteServerAddress, serverSocket, session`

## Constructor Summary

Constructors
Constructor
Description
`GridFTPServerFacade(GridFTPControlChannel remoteControlChannel)`

## Method Summary

Modifier and Type
Method
Description
`void`
`abort()`
close data channels, but not control, nor the server
`static Socket`
`authenticate(Socket simpleSocket, boolean isClientSocket, GSSCredential credential, int protection, DataChannelAuthentication dcau)`
authenticate socket.
`void`
`close()`
`protected TransferContext`
`createTransferContext()`
`TransferThreadManager`
`createTransferThreadManager()`
`void`
`retrieve(DataSource source)`
Retrieve the data from the data source and write to the data channel.
`void`
`setActive(HostPort hp)`
Asynchronous; return before completion.
`void`
`setCredential(GSSCredential cred)`
`void`
`setDataChannelAuthentication(DataChannelAuthentication authentication)`
`void`
`setDataChannelProtection(int protection)`
`void`
`setOptions(Options opts)`
Do nothing; this class does not support any options
`HostPort`
`setPassive(int port, int queue)`
Start the local server
`void`
`setStripedActive(HostPortList hpl)`
`HostPortList`
`setStripedPassive()`
`HostPortList`
`setStripedPassive(int port, int queue)`
`void`
`setTCPBufferSize(int size)`
This method needs to be called BEFORE the local socket(s) get created.
`void`
`store(DataSink sink)`
Store the data from the data channel to the data sink.
`protected void`
`transferAbort()`

### Methods inherited from class org.globus.ftp.vanilla.FTPServerFacade

`authorize, cannotPropagateError, exceptionToControlChannel, exceptionToControlChannel, getControlChannel, getSession, setPassive, setProtectionBufferSize, setTransferMode, setTransferType, stopTaskThread, unblockServer`

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

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

## Field Details

### gSession

protected GridFTPSession gSession

### socketPool

protected SocketPool socketPool

### transferThreadManager

protected TransferThreadManager transferThreadManager

### stripeRetrContextManager

protected StripeContextManager stripeRetrContextManager

## Constructor Details

### GridFTPServerFacade

public GridFTPServerFacade(GridFTPControlChannel remoteControlChannel)

## Method Details

### setCredential

public void setCredential(GSSCredential cred)

### setDataChannelProtection

public void setDataChannelProtection(int protection)

### setDataChannelAuthentication

public void setDataChannelAuthentication(DataChannelAuthentication authentication)

### setOptions

public void setOptions(Options opts)
Description copied from class: `FTPServerFacade`
Do nothing; this class does not support any options

Overrides:
  `setOptions` in class `FTPServerFacade`

### setTCPBufferSize

public void setTCPBufferSize(int size) throws ClientException
This method needs to be called BEFORE the local socket(s) get created. In other words, before setActive(), setPassive(), get(), put(), etc.

Throws:
  `ClientException`

### transferAbort

protected void transferAbort()

Overrides:
  `transferAbort` in class `FTPServerFacade`

### setActive

public void setActive(HostPort hp) throws UnknownHostException, ClientException, IOException
Description copied from class: `FTPServerFacade`
Asynchronous; return before completion. Connect to the remote server. Any exception that would occure will not be thrown but returned through the local control channel.

Overrides:
  `setActive` in class `FTPServerFacade`
Throws:
  `UnknownHostException`
  `ClientException`
  `IOException`

### setStripedActive

public void setStripedActive(HostPortList hpl) throws UnknownHostException, IOException

Throws:
  `UnknownHostException`
  `IOException`

### setPassive

public HostPort setPassive(int port, int queue) throws IOException
Description copied from class: `FTPServerFacade`
Start the local server

Overrides:
  `setPassive` in class `FTPServerFacade`
Parameters:
  `port` - required server port; can be set to ANY_PORT
  `queue` - max size of queue of awaiting new connection requests
Returns:
  the server address
Throws:
  `IOException`

### setStripedPassive

public HostPortList setStripedPassive() throws IOException

Throws:
  `IOException`

### setStripedPassive

public HostPortList setStripedPassive(int port, int queue) throws IOException

Throws:
  `IOException`

### store

public void store(DataSink sink)
Store the data from the data channel to the data sink. Does not block. If operation fails, exception might be thrown via local control channel.

Overrides:
  `store` in class `FTPServerFacade`
Parameters:
  `sink` - source of data

### retrieve

public void retrieve(DataSource source)
Retrieve the data from the data source and write to the data channel. This method does not block. If operation fails, exception might be thrown via local control channel.

Overrides:
  `retrieve` in class `FTPServerFacade`
Parameters:
  `source` - source of data

### abort

public void abort() throws IOException
Description copied from class: `FTPServerFacade`
close data channels, but not control, nor the server

Overrides:
  `abort` in class `FTPServerFacade`
Throws:
  `IOException`

### close

public void close() throws IOException

Overrides:
  `close` in class `FTPServerFacade`
Throws:
  `IOException`

### authenticate

public static Socket authenticate(Socket simpleSocket, boolean isClientSocket, GSSCredential credential, int protection, DataChannelAuthentication dcau) throws Exception
authenticate socket. if protection on, return authenticated socket wrapped over the original simpleSocket, else return original socket.

Throws:
  `Exception`

### createTransferContext

protected TransferContext createTransferContext()

Overrides:
  `createTransferContext` in class `FTPServerFacade`

### createTransferThreadManager

public TransferThreadManager createTransferThreadManager()