package com.acdp.transceivr; import com.eclipsesource.json.JsonObject; import okhttp3.Call; public class Transfer { public Transfer(int id) { this.id = id; startTS=System.currentTimeMillis(); } public Call call; public long bytesRead; public long contentLength; public String from; public String to; public String uploadError; public int uploadCode; public String uploadResponseBody; public boolean downloadDone = false; public int downloadCode; public String downloadError; public boolean uploadDone = false; public boolean canceled=false; public long startTS; public long currentTS; public String cpeeCallback; public String cpeeCallbackId; public String cpeeInstanceURL; public boolean doCpeeCallback=false; public String cpeeCallbackResult; public int cpeeCallbackCode; public String cpeeCallbackMessage; public String cpeeCallbackError; public boolean finished; public long finishedAT; public String toMethod; int id; public JsonObject toJSON() { JsonObject js = new JsonObject(); js.add("id", id); js.add("bytesRead", bytesRead); js.add("contentLength", contentLength); js.add("from", from); js.add("to", to); js.add("uploadError", uploadError); js.add("uploadCode", uploadCode); js.add("uploadResponseBody", uploadResponseBody); js.add("uploadDone", uploadDone); js.add("progress", contentLength>0?((100 * bytesRead) / contentLength):0); js.add("downloadDone", downloadDone); js.add("downloadCode", downloadCode); js.add("downloadError", downloadError); js.add("cpeeCallbackResult", cpeeCallbackResult); js.add("cpeeCallbackCode", cpeeCallbackCode); js.add("cpeeCallbackMessage", cpeeCallbackMessage); js.add("cpeeCallbackError", cpeeCallbackError); js.add("finished", finished); js.add("finishedAT", finishedAT); var diff=currentTS-startTS; js.add("rate", diff>0?(bytesRead/diff):0); return js; } }