JDownloader Community - Appwork GmbH
 

Go Back   JDownloader Community - Appwork GmbH > International Support > JDownloader 2
Reply
 
Thread Tools Display Modes
  #1  
Old 02.08.2017, 21:21
zrato zrato is offline
Giga Loader
 
Join Date: Oct 2011
Posts: 99
Default How do I run a locally compiled JD2? main class is missing

So I set up Eclipse, got everything via SVN according to
http://jdownloader.org/knowledge/wik...nt/get-started
then edited the "\JDownloader\build\newBuild\build.xml" file to exclude all the private packages so that the whole thing compiles.

Ok now I have a JDownloader.jar but starting it will not work because of
<attribute name="Main-Class" value="org.jdownloader.update.launcher.JDLauncher" />
And this class is in your private repo, so it was not compiled into the jar.
I tried replacing that with "org.jdownloader.startup.Main" since this is the file you can start via Eclipse to get it running, but that won't work since it's also not compiled into the JDownloader.jar.

Now I could try and start the core.jar with "org.jdownloader.startup.Main" instead of the "jd.Main" (since for whatever reason jd.Main does not exist (and even if it did it would not work as I saw in the original core.jar it will launch the updater again)) but that will lead to:

Spoiler:
Code:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/appwork/utils/swing/dialog/LAFManager
Interface
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
        at java.lang.Class.privateGetMethodRecursive(Unknown Source)
        at java.lang.Class.getMethod0(Unknown Source)
        at java.lang.Class.getMethod(Unknown Source)
        at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.appwork.utils.swing.dialog.LAFManagerInterface
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 7 more


So how exactly is it possible to run a locally compiled version (not via IDE)?

Thank you
Reply With Quote
  #2  
Old 03.08.2017, 06:13
raztoki's Avatar
raztoki raztoki is offline
English Supporter
 
Join Date: Apr 2010
Location: Australia
Posts: 17,614
Default

my workspace is significantly different to yours as I have bastardised it.

I was able to get it to compile, you need to use 'without sign' configuration > targets

it will automatically just compile those within the specification ' <target name="withoutsign" depends="clean,compile,copy_res,jarReconnectOptionals,jarOptionals,jarMain,copy_compiled">
'

raztoki
__________________
raztoki @ jDownloader reporter/developer
http://svn.jdownloader.org/users/170

Don't fight the system, use it to your advantage. :]

Last edited by Jiaz; 03.08.2017 at 11:22.
Reply With Quote
  #3  
Old 03.08.2017, 11:24
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,554
Default

Please contact us via support@jdownloader.org and we will help you.
At the moment I'm busy, that's why I ask you to contact us via e-mail so I don't forget about you

The startup class org.jdownloader.startup.Main

In case you want to customize plugins, you can do this easily by renaming the plugin class to something different and make sure the interface version is higher than the original one. Then standalone will not overwrite(because of different class name) and use your version of plugin (because of higher interface version).

Why not join the dev team so your bugfixes/modifications/features will land in standalone version
__________________
JD-Dev & Server-Admin

Last edited by Jiaz; 03.08.2017 at 11:26.
Reply With Quote
  #4  
Old 04.08.2017, 19:51
zrato zrato is offline
Giga Loader
 
Join Date: Oct 2011
Posts: 99
Default

Quote:
Originally Posted by Jiaz View Post
Please contact us via support@jdownloader.org and we will help you.
At the moment I'm busy, that's why I ask you to contact us via e-mail so I don't forget about you
That is generous, but I don't really want to waste your time, just for me playing with the source.

Quote:
The startup class org.jdownloader.startup.Main

Why not join the dev team so your bugfixes/modifications/features will land in standalone version
I don't really know much about Java despite some hack-ish stuff when I compile some programs over the years and change little things. I mostly write python scripts for automating tasks usually.

I actually got the ANT built-script to now include everything (I think) into one 25MB jdownloader.jar file, it also now has the class org.jdownloader.startup.Main. No idea if that was a wise choice but it goes a bit further:

Spoiler:

Code:
INFO >> Prefer (merged) JSon Storage from File: F:\eclipse workspace - JDownloader\JDownloader\update\dist\cfg\org.appwork.utils.logging2.LogConfig.json
FINER >> Init StorageHandler for Interface:org.appwork.utils.logging2.LogConfig|Path:F:\eclipse workspace - JDownloader\JDownloader\update\dist\cfg\org.appwork.utils.logging2.LogConfig

THREAD: 1
1|Log.L.log 04.08.17 18:29:38 - INFO [ org.appwork.utils.Application(setApplication) ] -> Application Root: F:\eclipse workspace - JDownloader\JDownloader\update\dist
java.lang.NullPointerException
	at org.jdownloader.startup.Main.copySVNtoHome(Main.java:124)
	at org.jdownloader.startup.Main.<clinit>(Main.java:79)
1|Log.L.log 04.08.17 18:29:38 - INFO [ org.appwork.storage.JsonKeyValueStorage(<init>) ] -> CFG File does not exist: F:\eclipse workspace - JDownloader\JDownloader\update\dist\cfg\org.jdownloader.settings.GraphicalUserInterfaceSettings.json
1|Log.L.log 04.08.17 18:29:38 - FINER [ org.appwork.storage.config.handler.StorageHandler(<init>) ] -> Init StorageHandler for Interface:org.jdownloader.settings.GraphicalUserInterfaceSettings|Path:F:\eclipse workspace - JDownloader\JDownloader\update\dist\cfg\org.jdownloader.settings.GraphicalUserInterfaceSettings
1|Log.L.log 04.08.17 18:29:38 - FINER [ org.appwork.txtresource.TranslationHandler(createTranslationResource) ] -> Load Translation file:/F:/eclipse%20workspace%20-%20JDownloader/JDownloader/update/dist/translations/org/jdownloader/gui/translate/GuiTranslation.de.lng
1|Log.L.log 04.08.17 18:29:38 - FINER [ org.appwork.txtresource.TranslationHandler(createTranslationResource) ] -> Load Translation file:/F:/eclipse%20workspace%20-%20JDownloader/JDownloader/update/dist/translations/org/jdownloader/gui/translate/GuiTranslation.en.lng
Multiple LogControllers Detected: org.appwork.utils.logging2.extmanager.LoggerFactory
Multiple LogControllers Detected: org.jdownloader.logging.LogController
java.lang.NoClassDefFoundError: com/sun/jna/Callback$UncaughtExceptionHandler
	at jd.gui.swing.laf.LookAndFeelController.<init>(LookAndFeelController.java:83)
	at jd.gui.swing.laf.LookAndFeelController.<clinit>(LookAndFeelController.java:61)
	at org.jdownloader.startup.Main.<clinit>(Main.java:83)
Caused by: java.lang.ClassNotFoundException: com.sun.jna.Callback$UncaughtExceptionHandler
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	... 3 more
[1/6|Priority: 10000]ShutdownController: start item->flushing logs to disk
[1/6|Priority: 10000]ShutdownController: item ended after->23
[Done:1/6]
[2/6|Priority: 0]ShutdownController: start item->ShutdownEvent: Save JSonStorages

THREAD: 21
21|Log.L.log 04.08.17 18:29:39 - FINER [ org.appwork.storage.JSonStorage(close) ] -> Start Saving Storage
21|Log.L.log 04.08.17 18:29:39 - FINER [ org.appwork.storage.JSonStorage(close) ] -> ENDED Saving Storage
[2/6|Priority: 0]ShutdownController: item ended after->1
[Done:2/6]
[3/6|Priority: 0]ShutdownController: start item->ShutdownEvent: SaveAllStorageHandler
[3/6|Priority: 0]ShutdownController: item ended after->0
[Done:3/6]
[4/6|Priority: 0]ShutdownController: start item->ShutdownEvent: ProcessDelayedWrites num=0
[4/6|Priority: 0]ShutdownController: item ended after->0
[Done:4/6]
[5/6|Priority: -2147483648]ShutdownController: start item->ShutdownEventWrapper Thread[Thread-0,5,main] - java.util.logging.LogManager$Cleaner Priority: -2147483648
[5/6|Priority: -2147483648]ShutdownController: item ended after->0
[Done:5/6]
[6/6|Priority: -2147483648]ShutdownController: start item->ShutdownEventWrapper Thread[Thread-1,6,system] - java.lang.Thread Priority: -2147483648
[6/6|Priority: -2147483648]ShutdownController: item ended after->101
[Done:6/6]
Shutdown Hooks Finished
Exception in thread "main"



Quote:
In case you want to customize plugins, ...)
Actually my goal was to somehow fix this bug:
https://board.jdownloader.org/showthread.php?t=72045

The "function" (DelayedRunnable object) that saves when one of the event listeners regarding the download list (DownloadControllerListener) triggers would be jd.controlling.downloadcontroller.DownloadController.changesSaver, so I changed the parameters to "TIMINGQUEUE, 120000l, 600000l", aka 2min, 10min, similar like you do it for the linkcollector list (jd.controlling.linkcollector.LinkCollector.asyncSaving).
I then compiled everything and then I put all the jd\controlling\downloadcontroller\DownloadController*.class files into the official core.jar replacing the old ones.

But that did not seem to work yesterday with my main JD instance, or I did something wrong, I'll have to check when my downloads finished - I still see saves that are <2min apart, some even exactly one after the other (my downloadListxxx.zips are now over 200MB, so I'm quite sure the write process is from them).
Interestingly, I just tried it with a new installation of JD2 and it seems to work, exactly 2min until the zip is written after the change. If I change several things (order, names, ...) several times in two minutes it seems to start making a new zip 2min after the last action. I'll have to try with my main JD later.
Reply With Quote
  #5  
Old 04.08.2017, 19:55
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,554
Default

I will add those modifications (so you can change it yourself in advanced settings) next week.
To be honest I still have this ticket/thread open in my browser.
__________________
JD-Dev & Server-Admin
Reply With Quote
  #6  
Old 05.08.2017, 12:31
zrato zrato is offline
Giga Loader
 
Join Date: Oct 2011
Posts: 99
Default

Quote:
Originally Posted by Jiaz View Post
I will add those modifications (so you can change it yourself in advanced settings) next week.
To be honest I still have this ticket/thread open in my browser.
I did some testing by the way, the patch works, and does not work at the same time (I verified it worked by setting it to like 20s, made one change and after exactly 20s JD wrote it, then I used some other values and they always matched - so compiling and replacing the class files worked).

I now patched it to "changesSaver = new DelayedRunnable(TIMINGQUEUE, 360000l, 600000l)" - aka 6min, 10min.

But when I used it on my main JD instance (I updated yesterday and after that patched the core.jar again, so yes I'm sure it was the patched version) JD does not really care. You might probably know that only changing those two values won't work, but just in case I'll write it here :)

See attached screenshots, this was with the patched version. I only started one download manually, so the "play button" top left had this little red x at the bottom.
Interestingly, the time between the start of the 1st to 3rd and 3rd to 4th hump is exactly 5 min (which is odd since I set minium 6 min above, and just verified again, that I use the correct .class files re-packed into core.jar).

Now I let it sit for 20 min or so and I'm even more fascinated by the RAM usage, see second screenshot how it drops. On the third screenshot you can see it now does backups in very nice 5 min steps and RAM usage is way down. Screenshots two and three were with a new instance of JD and have nothing to do with the first one (jd 3.jpg) by the way.
Oh nevermind, just after writing the last paragraph, it starting writing another file inbetween and RAM went up again, see fourth screenshot (the first hump is the last hump from the third screenshot). I'm not doing anything within JD, just observing.

Sorry for the long blogpost; tl;dr: only setting changesSaver = new DelayedRunnable(...) will not work it seems.
Attached Images
File Type: jpg jd 3.jpg (153.0 KB, 1 views)
File Type: png jd 4.png (40.0 KB, 1 views)
File Type: png jd 5.png (34.2 KB, 1 views)
File Type: png jd 6.png (34.0 KB, 1 views)
Reply With Quote
  #7  
Old 07.08.2017, 12:31
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,554
Default


Thanks for the feedback. I will work on the ticket/this issue this week.

Just out of interest. how many links do you have in list? I ask because of the large size of the file
__________________
JD-Dev & Server-Admin
Reply With Quote
  #8  
Old 07.08.2017, 14:53
zrato zrato is offline
Giga Loader
 
Join Date: Oct 2011
Posts: 99
Default

198 000 links in nearly 10 000 packages.
Still remarkably performant when starting the whole thing.
Reply With Quote
  #9  
Old 07.08.2017, 15:06
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,554
Default

may I ask why so many links ?
__________________
JD-Dev & Server-Admin
Reply With Quote
  #10  
Old 07.08.2017, 16:16
zrato zrato is offline
Giga Loader
 
Join Date: Oct 2011
Posts: 99
Default

Sure, I actually wrote my answer and explaining it with multi-hosters (mirrorcreator and so on, that upload one file to several hosters), but I just checked and it seems they only count as one link. So the "real" amount of links, according to the number of files in the zip is 400 000. Lots of somewhat smaller archives and stuff - well somebody has to backup the internet ;)

I sometimes think about starting a fresh installation, but it happens from time to time, that I have to look up if I downloaded a file already by its name and so I keep the list. Current one goes back to early 2013 - back then (according to my thread I just digged up https://board.jdownloader.org/showthread.php?t=48064) I could not import my old list from JD nightly to JD2, or it would have been even bigger by now :).

But as I said, you programed it quite well I think - start time until the list is shown is under 10s, that's ok.
Reply With Quote
  #11  
Old 07.08.2017, 16:18
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,554
Default

Okay, thanks for the feedback. Will optimize to reduce write cycles during downloading.
__________________
JD-Dev & Server-Admin
Reply With Quote
  #12  
Old 07.08.2017, 16:18
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,554
Default

Quote:
Originally Posted by zrato View Post
well somebody has to backup the internet
Ah, so I can ask you for my lost holiday images :p
__________________
JD-Dev & Server-Admin
Reply With Quote
  #13  
Old 25.10.2017, 14:57
zrato zrato is offline
Giga Loader
 
Join Date: Oct 2011
Posts: 99
Default

The problem seems to be that sometimes the changesSaver requests a write (very often) and other times the downloadSaver. With the default values for changeSaver(5-60 seconds) you get lots and lots of rewrites, the downloadSaver behaves a bit more sane.

I changed my DownloadController.java to the following:
**External links are only visible to Support Staff****External links are only visible to Support Staff**

As you can see I added logger events for every possible event of changeSaver among other things.
I think the changeSaver values are far too low with 5-60 seconds. As an example see this log, where I just change package names several times. HHH is the event onDownloadControllerUpdatedData(FilePackage pkg, FilePackageProperty property), changeSaver-run means a request to changeSaver and changeSaver-delayedrun is the actual backup routine then running. This means that in those 3.5 minutes my PC wrote >1.5GB of backups and used my 4 core CPU with 25% alone. This is quite heavy for some backups...

Spoiler:

Code:
------------------------Thread: 26:jd.controlling.downloadcontroller.DownloadController.log-----------------------
--ID:26TS:1508772451961-23.10.17 17:27:31 -  [jd.controlling.downloadcontroller.DownloadController$5(onDownloadControllerUpdatedData)] -> HHH
--ID:26TS:1508772451961-23.10.17 17:27:31 -  [jd.controlling.downloadcontroller.DownloadController$3(run)] -> changeSaver-run
------------------------Thread: 237:jd.controlling.downloadcontroller.DownloadController.log-----------------------
--ID:237TS:1508772456963-23.10.17 17:27:36 -  [jd.controlling.downloadcontroller.DownloadController$3(delayedrun)] -> changeSaver-delayedrun
------------------------Thread: 26:jd.controlling.downloadcontroller.DownloadController.log-----------------------
--ID:26TS:1508772466926-23.10.17 17:27:46 -  [jd.controlling.downloadcontroller.DownloadController$5(onDownloadControllerUpdatedData)] -> HHH
--ID:26TS:1508772466926-23.10.17 17:27:46 -  [jd.controlling.downloadcontroller.DownloadController$3(run)] -> changeSaver-run
--ID:26TS:1508772476158-23.10.17 17:27:56 -  [jd.controlling.downloadcontroller.DownloadController$5(onDownloadControllerUpdatedData)] -> HHH
--ID:26TS:1508772476158-23.10.17 17:27:56 -  [jd.controlling.downloadcontroller.DownloadController$3(run)] -> changeSaver-run
------------------------Thread: 237:jd.controlling.downloadcontroller.DownloadController.log-----------------------
--ID:237TS:1508772485561-23.10.17 17:28:05 -  [jd.controlling.downloadcontroller.DownloadController$3(delayedrun)] -> changeSaver-delayedrun
------------------------Thread: 26:jd.controlling.downloadcontroller.DownloadController.log-----------------------
--ID:26TS:1508772491799-23.10.17 17:28:11 -  [jd.controlling.downloadcontroller.DownloadController$5(onDownloadControllerUpdatedData)] -> HHH
--ID:26TS:1508772491799-23.10.17 17:28:11 -  [jd.controlling.downloadcontroller.DownloadController$3(run)] -> changeSaver-run
--ID:26TS:1508772503967-23.10.17 17:28:23 -  [jd.controlling.downloadcontroller.DownloadController$5(onDownloadControllerUpdatedData)] -> HHH
--ID:26TS:1508772503967-23.10.17 17:28:23 -  [jd.controlling.downloadcontroller.DownloadController$3(run)] -> changeSaver-run
------------------------Thread: 237:jd.controlling.downloadcontroller.DownloadController.log-----------------------
--ID:237TS:1508772514068-23.10.17 17:28:34 -  [jd.controlling.downloadcontroller.DownloadController$3(delayedrun)] -> changeSaver-delayedrun
------------------------Thread: 26:jd.controlling.downloadcontroller.DownloadController.log-----------------------
--ID:26TS:1508772514720-23.10.17 17:28:34 -  [jd.controlling.downloadcontroller.DownloadController$5(onDownloadControllerUpdatedData)] -> HHH
--ID:26TS:1508772514720-23.10.17 17:28:34 -  [jd.controlling.downloadcontroller.DownloadController$3(run)] -> changeSaver-run
------------------------Thread: 237:jd.controlling.downloadcontroller.DownloadController.log-----------------------
--ID:237TS:1508772542422-23.10.17 17:29:02 -  [jd.controlling.downloadcontroller.DownloadController$3(delayedrun)] -> changeSaver-delayedrun
------------------------Thread: 26:jd.controlling.downloadcontroller.DownloadController.log-----------------------
--ID:26TS:1508772587577-23.10.17 17:29:47 -  [jd.controlling.downloadcontroller.DownloadController$5(onDownloadControllerUpdatedData)] -> HHH
--ID:26TS:1508772587577-23.10.17 17:29:47 -  [jd.controlling.downloadcontroller.DownloadController$3(run)] -> changeSaver-run
------------------------Thread: 250:jd.controlling.downloadcontroller.DownloadController.log-----------------------
--ID:250TS:1508772592579-23.10.17 17:29:52 -  [jd.controlling.downloadcontroller.DownloadController$3(delayedrun)] -> changeSaver-delayedrun
------------------------Thread: 26:jd.controlling.downloadcontroller.DownloadController.log-----------------------
--ID:26TS:1508772623178-23.10.17 17:30:23 -  [jd.controlling.downloadcontroller.DownloadController$5(onDownloadControllerUpdatedData)] -> HHH
--ID:26TS:1508772623178-23.10.17 17:30:23 -  [jd.controlling.downloadcontroller.DownloadController$3(run)] -> changeSaver-run
------------------------Thread: 250:jd.controlling.downloadcontroller.DownloadController.log-----------------------
--ID:250TS:1508772628179-23.10.17 17:30:28 -  [jd.controlling.downloadcontroller.DownloadController$3(delayedrun)] -> changeSaver-delayedrun
------------------------Thread: 26:jd.controlling.downloadcontroller.DownloadController.log-----------------------
--ID:26TS:1508772631801-23.10.17 17:30:31 -  [jd.controlling.downloadcontroller.DownloadController$5(onDownloadControllerUpdatedData)] -> HHH
--ID:26TS:1508772631801-23.10.17 17:30:31 -  [jd.controlling.downloadcontroller.DownloadController$3(run)] -> changeSaver-run
------------------------Thread: 250:jd.controlling.downloadcontroller.DownloadController.log-----------------------
--ID:250TS:1508772656544-23.10.17 17:30:56 -  [jd.controlling.downloadcontroller.DownloadController$3(delayedrun)] -> changeSaver-delayedrun



Next see the attachment, this is a log with all the events (marked by my modified source above) - as you can see "onDownloadControllerUpdatedData(DownloadLink downloadlink, DownloadLinkProperty property)" goes full rampage with the amount of events. In this log, the frequency for changeSaver was set to 360s, 360s and minMsBetweenRuns also 360s

I fixed it for myself by just brute force denying the "private void saveDownloadLinks(final boolean ignoreShutDown)" when not x minutes have passed:

Spoiler:
Code:
private void saveDownloadLinks(final boolean ignoreShutDown) {
	if (isSavingAllowed(ignoreShutDown)) {
		/* save as new Json ZipFile */
		now = System.currentTimeMillis();
		if ((now - lastSaverRun) > minMsBetweenRuns) {
			logger.severe("saveDownloadLinks GRANTED " + (now - lastSaverRun));
			logger.severe("WRITING BACKUP");
			lastSaverRun = now;
			try {
				save(getPackagesCopy(), null);
			} catch (Throwable e) {
				logger.log(e);
			}
		} else {
			logger.severe("saveDownloadLinks DENIED " + (now - lastSaverRun));
		}
	}
}


You can see in the log how often the write request was denied ("saveDownloadLinks DENIED" or permitted "saveDownloadLinks GRANTED") - keep in mind this was with 360/360 for both savers, with the original values you will get spammed with DENIED a lot(!) more.

If I may bring forward my ideas:
- changeSaver with 5s-60s is far too frequent
- downloadSaver and changeSaver do ignore each other despite basically doing the same thing resulting in the events that I wrote about earlier with back-to-back backups - this happens in the log for example at "ID:2626TS:1508926014086-25.10.17 12:06:54" both try to request a backup.
- I fixed this by just putting a hard block into the source as I don't think that many backups are necessary (one exception for that hard block would be adding the AAA event ("onDownloadControllerAddedPackage(FilePackage pkg)" to some exception as here a backup actually makes sense.

Besides that I think it would be made more elegant by
a) giving the user the option to set the min/max time for both downloadSaver and changeSaver in the advanced options, and
b) making downloadSaver and changeSaver be aware of each other so that only one runs in a timespan of x minutes (x maybe being Math.max(minChangeSaverDelay, minDownloadSaverDelay)?).
Reply With Quote
  #14  
Old 25.10.2017, 15:16
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,554
Default

Quote:
Originally Posted by zrato View Post
Besides that I think it would be made more elegant by
a) giving the user the option to set the min/max time for both downloadSaver and changeSaver in the advanced options, and
b) making downloadSaver and changeSaver be aware of each other so that only one runs in a timespan of x minutes (x maybe being Math.max(minChangeSaverDelay, minDownloadSaverDelay)?).
a.)


b.) will be fixed with a

Please don't mind me not answering more text, but I'm busy at the moment and many of this *writing* will be gone once the next download core is in place because the resume information will no longer be stored within the list itself, so no need to save it all the time
__________________
JD-Dev & Server-Admin
Reply With Quote
  #15  
Old 25.10.2017, 15:20
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 79,554
Default

larger default intervals + customizable intervals will be good start for beginning.
Feel free to talk about this via chat or e-mail, better place for development talks
__________________
JD-Dev & Server-Admin
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 08:06.
Provided By AppWork GmbH | Privacy | Imprint
Parts of the Design are used from Kirsch designed by Andrew & Austin
Powered by vBulletin® Version 3.8.10 Beta 1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.