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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abort()
close data channels, but not control, nor the serverstatic 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 optionsHostPort
setPassive(int port, int queue)
Start the local servervoid
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
-
-
-
-
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 classFTPServerFacade
-
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 classFTPServerFacade
-
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 classFTPServerFacade
- 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 classFTPServerFacade
- Parameters:
port
- required server port; can be set to ANY_PORTqueue
- 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 classFTPServerFacade
- 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 classFTPServerFacade
- 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 classFTPServerFacade
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
- Overrides:
close
in classFTPServerFacade
- 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 classFTPServerFacade
-
createTransferThreadManager
public TransferThreadManager createTransferThreadManager()
-
-