/* * (non-Javadoc) * * @see * org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer * #handleReceivedData(byte[], int, double, * org.eclipse.core.runtime.IProgressMonitor) */ protected void handleReceivedData(byte[] buf, int bytes, double factor, IProgressMonitor monitor) throws IOException { if (bytes == -1) { done = true; } else { int fileBytes = bytes; if ((bytesReceived + bytes) > fileLength) { fileBytes = (int) (fileLength - bytesReceived); } bytesReceived += fileBytes; localFileContents.write(buf, 0, fileBytes); fireTransferReceiveDataEvent(); monitor.worked((int) Math.round(factor * fileBytes)); if (fileBytes != bytes) { scpUtil.checkAck(buf[fileBytes], remoteFileContents); done = true; } } }