# Uses of Interface
org.globus.ftp.DataSource

Packages that use DataSource
Package
Description
org.globus.ftp
org.globus.ftp.dc
org.globus.ftp.extended
org.globus.ftp.vanilla

## Uses of DataSource in org.globus.ftp

Classes in org.globus.ftp that implement DataSource
Modifier and Type
Class
Description
`class`
`DataSourceStream`
Reference implementation of DataSource.
`class`
`FileRandomIO`
Thread safe reference implementation of DataSink and DataSource.
`class`
`OutputStreamDataSource`
Methods in org.globus.ftp with parameters of type DataSource
Modifier and Type
Method
Description
`TransferState`
FTPClient.`asynchPut(String remoteFileName, DataSource source, MarkerListener mListener)`
Stores file at the remote server.
`TransferState`
FTPClient.`asynchPut(String remoteFileName, DataSource source, MarkerListener mListener, boolean append)`
Stores file at the remote server.
`TransferState`
FTPClient.`asynchPut2(String remoteFileName, boolean passive, DataSource source, MarkerListener mListener)`
Stores a file at the remote server using the GFD.47 (a.k.a GridFTP2) PUT command.
`void`
GridFTPClient.`extendedPut(String remoteFileName, long offset, DataSource source, MarkerListener mListener)`
Performs extended store (adujsted store mode).
`void`
GridFTPClient.`extendedPut(String remoteFileName, DataSource source, MarkerListener mListener)`
Performs extended store (adujsted store mode with offset 0).
`void`
FTPClient.`put(String remoteFileName, DataSource source, MarkerListener mListener)`
Stores file at the remote server.
`void`
FTPClient.`put(String remoteFileName, DataSource source, MarkerListener mListener, boolean append)`
Stores file at the remote server.
`void`
FTPClient.`put2(String remoteFileName, boolean passive, DataSource source, MarkerListener mListener)`
Stores a file at the remote server using the GFD.47 (a.k.a GridFTP2) PUT command.

## Uses of DataSource in org.globus.ftp.dc

Fields in org.globus.ftp.dc declared as DataSource
Modifier and Type
Field
Description
`protected DataSource`
ActiveConnectTask.`source`
`protected DataSource`
PassiveConnectTask.`source`
`protected DataSource`
TransferSourceThread.`source`
Methods in org.globus.ftp.dc with parameters of type DataSource
Modifier and Type
Method
Description
`TransferThread`
GridFTPTransferThreadFactory.`getTransferSourceThread(DataChannel dataChannel, SocketBox socketBox, DataSource source, BasicServerControlChannel localControlChannel, TransferContext context)`
`TransferThread`
SimpleTransferThreadFactory.`getTransferSourceThread(DataChannel dataChannel, SocketBox socketBox, DataSource source, BasicServerControlChannel localControlChannel, TransferContext context)`
`TransferThread`
TransferThreadFactory.`getTransferSourceThread(DataChannel dataChannel, SocketBox socketBox, DataSource source, BasicServerControlChannel localControlChannel, TransferContext context)`
`void`
TransferThreadManager.`passiveConnect(DataSource source, TransferContext context, ServerSocket serverSocket)`
Accept connection from the remote server and start transfer thread that will read incoming data and store in the sink.
`void`
DataChannel.`startTransfer(DataSource source, BasicServerControlChannel localControlChannel, TransferContext context)`
`void`
SimpleDataChannel.`startTransfer(DataSource source, BasicServerControlChannel localControlChannel, TransferContext context)`
`void`
TransferThreadManager.`startTransfer(DataSource source, TransferContext context, int connections, boolean reusable)`
This should be used once the remote active server connected to us.
Constructors in org.globus.ftp.dc with parameters of type DataSource
Modifier
Constructor
Description
``
`ActiveConnectTask(HostPort hostPort, DataSource source, BasicServerControlChannel control, Session session, DataChannelFactory factory, TransferContext context)`
``
`ActiveStartTransferTask(DataSource source, BasicServerControlChannel control, SocketBox box, Session session, DataChannelFactory factory, TransferContext context)`
``
`GridFTPPassiveConnectTask(ServerSocket myServer, DataSource source, BasicServerControlChannel control, GridFTPSession session, DataChannelFactory factory, EBlockParallelTransferContext context)`
``
`GridFTPTransferSourceThread(AbstractDataChannel dataChannel, SocketBox socketBox, DataSource source, BasicServerControlChannel localControlChannel, EBlockParallelTransferContext context)`
``
`PassiveConnectTask(ServerSocket myServer, DataSource source, BasicServerControlChannel control, Session session, DataChannelFactory factory, TransferContext context)`
``
`TransferSourceThread(AbstractDataChannel dataChannel, SocketBox socketBox, DataSource source, BasicServerControlChannel localControlChannel, TransferContext context)`

## Uses of DataSource in org.globus.ftp.extended

Methods in org.globus.ftp.extended with parameters of type DataSource
Modifier and Type
Method
Description
`void`
GridFTPServerFacade.`retrieve(DataSource source)`
Retrieve the data from the data source and write to the data channel.

## Uses of DataSource in org.globus.ftp.vanilla

Methods in org.globus.ftp.vanilla with parameters of type DataSource
Modifier and Type
Method
Description
`void`
FTPServerFacade.`retrieve(DataSource source)`
Asynchronous; return before completion.