X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Firc%2FDccReceiver.java;h=be4f1453aeffbfac0f8f6875d08a5c6ea6e93531;hb=e3d5be1bb8fb742facae438ae2c36d55331e953e;hp=9616deb2b5464ad0c7f93743b20e0a3f92c21e46;hpb=d59756d8d7a43a0c12fa7ecec35955c9b1f40d8f;p=xudocci.git diff --git a/src/main/java/net/pterodactylus/irc/DccReceiver.java b/src/main/java/net/pterodactylus/irc/DccReceiver.java index 9616deb..be4f145 100644 --- a/src/main/java/net/pterodactylus/irc/DccReceiver.java +++ b/src/main/java/net/pterodactylus/irc/DccReceiver.java @@ -85,10 +85,32 @@ public class DccReceiver extends AbstractExecutionThreadService { * The output stream to write the file to */ public DccReceiver(EventBus eventBus, InetAddress inetAddress, int port, String filename, long size, OutputStream outputStream) { + this(eventBus, inetAddress, port, filename, 0, size, outputStream); + } + + /** + * Creates a new DCC receiver. + * + * @param inetAddress + * The address to connect to + * @param port + * The port number to connect to + * @param filename + * The name of the file being downloaded + * @param startOffset + * The offset at which the download starts in case of a resume + * @param size + * The size of the file being downloaded, or {@code -1} if the size is not + * known + * @param outputStream + * The output stream to write the file to + */ + public DccReceiver(EventBus eventBus, InetAddress inetAddress, int port, String filename, long startOffset, long size, OutputStream outputStream) { this.eventBus = eventBus; this.inetAddress = inetAddress; this.port = port; this.filename = filename; + this.progress = startOffset; this.size = size; this.outputStream = outputStream; } @@ -133,7 +155,7 @@ public class DccReceiver extends AbstractExecutionThreadService { * @return The current rate of the download, in bytes/second */ public long currentRate() { - return inputStream.getCurrentRate(); + return (inputStream != null) ? inputStream.getCurrentRate() : 0; } /** @@ -142,7 +164,7 @@ public class DccReceiver extends AbstractExecutionThreadService { * @return The overall rate of the download, in bytes/second */ public long overallRate() { - return inputStream.getOverallRate(); + return (inputStream != null) ? inputStream.getOverallRate() : 0; } //