org.globus.ftp.extended
Class GridFTPServerFacade

java.lang.Object
  extended by org.globus.ftp.vanilla.FTPServerFacade
      extended by 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
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
GridFTPServerFacade(GridFTPControlChannel remoteControlChannel)
           
 
Method Summary
 void abort()
          close data channels, but not control, nor the server
static java.net.Socket authenticate(java.net.Socket simpleSocket, boolean isClientSocket, org.ietf.jgss.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(org.ietf.jgss.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 Detail

gSession

protected GridFTPSession gSession

socketPool

protected SocketPool socketPool

transferThreadManager

protected TransferThreadManager transferThreadManager

stripeRetrContextManager

protected StripeContextManager stripeRetrContextManager
Constructor Detail

GridFTPServerFacade

public GridFTPServerFacade(GridFTPControlChannel remoteControlChannel)
Method Detail

setCredential

public void setCredential(org.ietf.jgss.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 java.net.UnknownHostException,
                      ClientException,
                      java.io.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:
java.net.UnknownHostException
ClientException
java.io.IOException

setStripedActive

public void setStripedActive(HostPortList hpl)
                      throws java.net.UnknownHostException,
                             java.io.IOException
Throws:
java.net.UnknownHostException
java.io.IOException

setPassive

public HostPort setPassive(int port,
                           int queue)
                    throws java.io.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:
java.io.IOException

setStripedPassive

public HostPortList setStripedPassive()
                               throws java.io.IOException
Throws:
java.io.IOException

setStripedPassive

public HostPortList setStripedPassive(int port,
                                      int queue)
                               throws java.io.IOException
Throws:
java.io.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 java.io.IOException
Description copied from class: FTPServerFacade
close data channels, but not control, nor the server

Overrides:
abort in class FTPServerFacade
Throws:
java.io.IOException

close

public void close()
           throws java.io.IOException
Overrides:
close in class FTPServerFacade
Throws:
java.io.IOException

authenticate

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

Throws:
java.lang.Exception

createTransferContext

protected TransferContext createTransferContext()
Overrides:
createTransferContext in class FTPServerFacade

createTransferThreadManager

public TransferThreadManager createTransferThreadManager()


Copyright © 2013. All Rights Reserved.