public class TransferState extends Object implements TimeEstimator
FileTransfer implementations.
A single instance will be created per invocation of
FileTransfer.transfer(TransferState). Several instance methods are
provided for common reporting actions (See usage in existing
FileTransfer implementations.| Constructor and Description |
|---|
TransferState(File file,
int index,
int total,
omero.grid.ImportProcessPrx proc,
ImportLibrary library,
TimeEstimator estimator,
ChecksumProvider cp,
byte[] buf)
State of the current file transfer.
|
| Modifier and Type | Method and Description |
|---|---|
void |
closeUploader()
Call
StatefulServiceInterfacePrx.close() on the cached uploader
instance if non-null and null the instance. |
byte[] |
getBuffer()
(Not thread safe) Get a moderately large buffer for use in
reading/writing data.
|
String |
getChecksum()
Get the digest string for the local file.
|
ChecksumProvider |
getChecksumProvider()
Get the
ChecksumProvider passed to the constructor. |
File |
getFile()
Return the target file passed to the constructor.
|
long |
getLength()
Return the length of the
target file. |
omero.model.OriginalFile |
getOriginalFile()
Find original file as defined by the ID in the
RawFileStorePrx
regardless of group. |
omero.model.OriginalFile |
getRootFile()
Find original file represented by the managed repository that
import is taking place to.
|
omero.api.RawFileStorePrx |
getUploader() |
omero.api.RawFileStorePrx |
getUploader(String mode)
Return the
RawFileStorePrx instance for this index setting
the mode if not null. |
long |
getUploadTimeLeft()
|
void |
save()
Calls
RawFileStorePrx.save() and stores the resultant
OriginalFile for future inspection along with the local
checksum. |
void |
start()
Starts the time counting.
|
void |
stop()
Stops the time counting and updates the internal time counter.
|
void |
stop(long uploadedBytes)
Stops the time counting and updates the internal updates the internal
time counter and counter of total number of transmitted bytes.
|
void |
uploadBytes(long offset)
Raise the
ImportEvent.FILE_UPLOAD_BYTES
event to all observers. |
void |
uploadComplete(long offset)
Raise the
ImportEvent.FILE_UPLOAD_COMPLETE
event to all observers. |
void |
uploadStarted()
Raise the
ImportEvent.FILE_UPLOAD_STARTED
event to all observers. |
public TransferState(File file, int index, int total, omero.grid.ImportProcessPrx proc, ImportLibrary library, TimeEstimator estimator, ChecksumProvider cp, byte[] buf) throws IOException, omero.ServerError
file - Source file which is to be transferred.index - Which of the total files to upload this is.total - Total number of files to upload.proc - ImportProcessPrx which is being imported to.library - ImportLibrary to use for notifications.estimator - a time-to-completion estimator.cp - a checksum provider, for calculating file content checksums.buf - optional buffer. Need not be used or updated.IOException - I/O exceptionomero.ServerError - server errorpublic void save()
throws omero.ServerError
RawFileStorePrx.save() and stores the resultant
OriginalFile for future inspection along with the local
checksum. (The remote checksum is available from the
OriginalFile.omero.ServerError - server errorpublic byte[] getBuffer()
public String getChecksum()
save() has been called.public ChecksumProvider getChecksumProvider()
ChecksumProvider passed to the constructor.
Since the ChecksumProvider has a number of different usage styles,
TransferState doesn't attempt to delegate but just returns the
instance.public File getFile()
public long getLength()
target file.public omero.model.OriginalFile getOriginalFile()
throws omero.ServerError
RawFileStorePrx
regardless of group.omero.ServerError - server errorpublic omero.model.OriginalFile getRootFile()
throws omero.ServerError
omero.ServerError - server errorpublic omero.api.RawFileStorePrx getUploader()
throws omero.ServerError
RawFileStorePrx instance for this indexomero.ServerError - server errorpublic omero.api.RawFileStorePrx getUploader(String mode) throws omero.ServerError
RawFileStorePrx instance for this index setting
the mode if not null. Valid values include "r" and "rw". If a non-null
uploader is available, it will be returned instead.
Every instance which is returned from this method should
eventually have StatefulServiceInterfacePrx.close() called on it.
StatefulServiceInterfacePrx.close() can be used to facilitate this.mode - the mode as understood by
PublicRepositoryI.file(String, String, Ice.Current)RawFileStorePrx instanceomero.ServerError - server errorpublic void closeUploader()
StatefulServiceInterfacePrx.close() on the cached uploader
instance if non-null and null the instance. If
ObjectNotExistException is thrown, the service is
assumed closed. All other exceptions will be printed at WARN.public void uploadStarted()
ImportEvent.FILE_UPLOAD_STARTED
event to all observers.public void uploadBytes(long offset)
ImportEvent.FILE_UPLOAD_BYTES
event to all observers.offset - how many bytes are uploadedpublic void uploadComplete(long offset)
ImportEvent.FILE_UPLOAD_COMPLETE
event to all observers.offset - how many bytes are uploadedpublic void start()
TimeEstimatorstart in interface TimeEstimatorpublic void stop()
TimeEstimatorstop in interface TimeEstimatorpublic void stop(long uploadedBytes)
TimeEstimatorstop in interface TimeEstimatoruploadedBytes - Number of bytes uploaded in a single time frame that is being
sampled.public long getUploadTimeLeft()
TimeEstimatorgetUploadTimeLeft in interface TimeEstimatorstop hasn't been called at least
once before calling this method.
Version: 5.3.3-ice35-b63
Copyright © 2017 The University of Dundee & Open Microscopy Environment. All Rights Reserved.