data);
/**
*
* @param transfer the transfer object returned by an earlier call to begin
* @throws TransferException
*/
void prepare(Transfer transfer) throws TransferException;
/**
* @param transfer the transfer object returned by an earlier call to begin
* @throws TransferException
*/
void commit(Transfer transfer) throws TransferException;
/**
* Abort the transfer
* @param transfer the transfer object returned by an earlier call to begin
* @throws TransferException
*/
void abort(Transfer transfer) throws TransferException;
/**
* Get the status of an in process transfer
*/
TransferProgress getStatus(Transfer transfer) throws TransferException;
/**
* Get the destination side transfer report from the destination and write it to the specified output stream.
*
* The result stream will be closed.
* @param transfer the transfer object returned by an earlier call to begin
* @param results - where to write the contents of the transfer report.
*/
void getTransferReport(Transfer transfer, OutputStream results);
}