diff options
Diffstat (limited to 'src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java')
-rw-r--r-- | src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java | 60 |
1 files changed, 32 insertions, 28 deletions
diff --git a/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java b/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java index e8b8b4d..7ad08db 100644 --- a/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java +++ b/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java @@ -10,64 +10,68 @@ import org.openslx.filetransfer.FileRange; import org.openslx.filetransfer.WantRangeCallback; import org.openslx.imagemaster.thrift.iface.DownloadData; import org.openslx.satellitedaemon.Globals; +import org.openslx.satellitedaemon.Identity; import org.openslx.satellitedaemon.db.DbImage; import org.openslx.satellitedaemon.db.DbImage.Status; -public class FileDownloadWorker implements Runnable { - private static Logger log = Logger.getLogger(FileDownloadWorker.class); +public class FileDownloadWorker implements Runnable +{ + private static Logger log = Logger.getLogger( FileDownloadWorker.class ); @Override - public void run() { - while (true) { + public void run() + { + while ( true ) { List<DbImage> imageList = DbImage.getAllMarkedForDownload(); - log.info("imageList Contains " + imageList.size() + " items."); - for (final DbImage image : imageList) { + log.info( "imageList Contains " + imageList.size() + " items." ); + for ( final DbImage image : imageList ) { List<Integer> range = new ArrayList<Integer>(); - for (long i = 0; i < (image.fileSize / Globals.BLOCKSIZE); i++) { - range.add((int) i); + for ( long i = 0; i < ( image.fileSize / Globals.BLOCKSIZE ); i++ ) { + range.add( (int)i ); } - DownloadData downInfos = ThriftConnection.getDownloadInfos(image); - if (downInfos == null) { - log.error("The DownloadInfos returned by ThriftConnection class are null"); + DownloadData downInfos = ThriftConnection.getDownloadInfos( image ); + if ( downInfos == null ) { + log.error( "The DownloadInfos returned by ThriftConnection class are null" ); continue; } // create new instance of Downloader. Downloader d; try { - d = new Downloader(Globals.getMasterserverHost(), - downInfos.port, Globals.getMasterServerSslContext(), downInfos.token); - } catch (IOException e) { + d = new Downloader( Globals.getMasterserverHost(), + downInfos.port, Globals.getMasterServerSslContext(), downInfos.token ); + } catch ( IOException e ) { e.printStackTrace(); continue; } - + // start downloading process. - d.download(Globals.getImageFolder() + "/" + image.path, new WantRangeCallback() { + d.download( Globals.getImageFolder() + "/" + image.path, new WantRangeCallback() { long pos = 0; long size = image.fileSize; - + @Override - public FileRange get() { + public FileRange get() + { // get start of range. - if (pos >= size) { - log.debug("Download completed."); - image.updateStatus(Status.successfully_decentralized); + if ( pos >= size ) { + log.debug( "Download completed." ); + image.updateStatus( Status.successfully_decentralized ); return null; } - - long startOfRange = pos; - long endOfRange = Math.min(pos + Globals.BLOCKSIZE, image.fileSize); - FileRange range = new FileRange(startOfRange, endOfRange); + + long startOfRange = pos; + long endOfRange = Math.min( pos + Globals.BLOCKSIZE, image.fileSize ); + FileRange range = new FileRange( startOfRange, endOfRange ); pos += Globals.BLOCKSIZE; return range; } - }); + } ); } try { - Thread.sleep(5 * 60 * 1000); - } catch (InterruptedException e) { + Thread.sleep( 5 * 60 * 1000 ); + } catch ( InterruptedException e ) { Thread.currentThread().interrupt(); return; } |