Azureus Speed Scheduler

About Speed Scheduler

Speed Scheduler is a plugin I created for Azureus to manage your upload/download speeds on a schedule.

To install it, just use the built-in plugin installer in Azureus. Be sure to select the option to install “For all users” instead of “Just for me”. You may need administrative access under Windows to install and use it.

Need Help?

If you have any questions, check out the Speed Scheduler FAQ

Screenshots

The SpeedScheduler main window. This is where you setup your schedules and speeds:

Main screen

This dialog lets you edit an individual schedule:

Edit screen

To bring up the SpeedScheduler main window, click Plugins, then select SpeedScheduler:

Launching SpeedSCheduler

106 Responses to “Azureus Speed Scheduler”

  1. Nate Says:

    Hey Dave,

    First off wanted to say thank you for the great plugin. I can successfully run the plugin in the GUI, but I’ve been trying to run it in console mode on a seed box using webui as the interface with no luck. I’ve tried the both jars from the ubuntu repository and the newest azureus cvs snapshot….neither work.
    Any ideas or guides you know of? Thanks in advance for any help.

    Nate

  2. Cameron Says:

    This looks to be exactly what I need, but theres one problem. I can’t figure out where to download it. In azureus I go Plugins -> Installation Wizard. I go “By list from sourceforge.net” and click next. In the bottom box it says:

    Error on connect for ‘http://azureus.sourceforge.net:80/update/pluginlist3.php?type=&version=3.0.5.2&app=Az
    ureus&os=Windows+XP&arch=x86&ui=az2&java=1.6.0_02&pmv=1.16′: 404 Not Found, Plugin list load failed, Failed to load standard plugin details

    I clicked the link that you gave to Leif on the FAQ comment list and that just 404s. Am I doing something wrong or is it just down?

  3. Cameron Says:

    I just installed it through the plugins wizard. The plugin site was just down.

  4. kaz Says:

    is there a version for mac?

  5. David Says:

    Awesome plugin!

  6. Jeremy Says:

    Hey, hope you can help. I’ve used speed scheduler on previous computers but the latest one has Vuze 3.1.1.0 and I’m having trouble working out how to enable speed scheduler. There’s no Plugins menu to select from. I’ve installed using the wizard and it seemed to work now I just need to know how to turn it on!
    Thanks in advance,
    Jeremy

  7. Nath Says:

    Awesome work. Thanks, this did exactly what I needed, and was a piece of cake to configure and get going.

    As most of these comments seem to be people lamenting how it didn’t work for them, I thought I’d reassure you that the silent majority loves your work!

  8. Et Says:

    If it doesn’t work for you, try: disable logging (see the FAQ). If you schedules won’t save then check that your Plugins directory is writeable (i.e. Not read only). Specifically check the SpeedScheduler directory, but handy to do this for all Vuze plugin folders)

  9. Masuta Says:

    Hi Nate,

    I too wanted to run Speed Scheduler in console mode on a linux seed box. What you need to do is put the plugin in the plugin dir and then start azureus in console mode. After looking through the source code I found a reference to this variable. In the console execute:
    set Plugin.SpeedScheduler.speedscheduler.enabled 1 int
    Note that it is case sens. This will turn on the plugin. You will have to either manually type the SavedSchedules.xml file or copy it from a machine with a GUI.

    I now have speed scheduler working flawlessly.

    Hope this helps.

  10. BobK Says:

    Running Azureus 3.0.4.2 in Fedora 9 x86_64 Linux using the default Iced Tea Java. I am not able to find a menu item for Speed Scheduler under Tools menu or any other. Speed Scheduler does show as loaded in the Options Plugins list. SavedSchedules.xml is 0 (zero) length. Any help will be appreciated.
    Get this error message in SpeedSchduler.log after installing SpeedScheduler:

    – - – SpeedScheduler Logger initialized. – - –

    Jul 27, 2008 10:33:37 PM|Main Thread|Loading scheduled from ‘/home/bobk/.azureus/plugins/speedscheduler/SavedSchedules.xml’
    Core: 225ms for Initializing Plugin: Speed Scheduler
    Core: 103ms for Initializing Plugin: Tracker Static Pages
    Core: 51ms for Initializing Plugin: BitTorrent IRC Bot Plugin

    – - – SpeedScheduler Logger initialized. – - –

    Jul 27, 2008 10:38:42 PM|Main Thread|Loading scheduled from ‘/home/bobk/.azureus/plugins/speedscheduler/SavedSchedules.xml’
    [Fatal Error] :1:1: Premature end of file.
    Jul 27, 2008 10:38:42 PM|Main Thread|org.xml.sax.SAXParseException: Premature end of file.
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at speedscheduler.io.XmlScheduleIO.loadSchedules(XmlScheduleIO.java:215)
    at speedscheduler.SchedulePersistencyManager.(SchedulePersistencyManager.java:53)
    at speedscheduler.SchedulePersistencyManager.(SchedulePersistencyManager.java:21)
    at speedscheduler.SpeedSchedulerThread.(SpeedSchedulerThread.java:83)
    at speedscheduler.SpeedSchedulerPlugin.initialize(SpeedSchedulerPlugin.java:110)
    at org.gudy.azureus2.pluginsimpl.local.PluginInitializer.initialisePlugin(PluginInitializer.java:1113)
    at org.gudy.azureus2.pluginsimpl.local.PluginInitializer.initialisePlugins(PluginInitializer.java:983)
    at com.aelitis.azureus.core.impl.AzureusCoreImpl.start(AzureusCoreImpl.java:532)
    at com.aelitis.azureus.ui.swt.Initializer.run(Initializer.java:263)
    at org.gudy.azureus2.ui.swt.mainwindow.Initializer.run(Initializer.java:142)
    at org.gudy.azureus2.ui.swt.mainwindow.SWTThread$2.runSupport(SWTThread.java:146)
    at org.gudy.azureus2.core3.util.AERunnable.run(AERunnable.java:38)
    at java.lang.Thread.run(Thread.java:636)
    DEBUG::Sun Jul 27 22:38:42 MDT 2008::speedscheduler.Log::guiDisplay::142:
    org.xml.sax.SAXParseException: Premature end of file.
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at speedscheduler.io.XmlScheduleIO.loadSchedules(XmlScheduleIO.java:215)
    at speedscheduler.SchedulePersistencyManager.(SchedulePersistencyManager.java:53)
    at speedscheduler.SchedulePersistencyManager.(SchedulePersistencyManager.java:21)
    at speedscheduler.SpeedSchedulerThread.(SpeedSchedulerThread.java:83)
    at speedscheduler.SpeedSchedulerPlugin.initialize(SpeedSchedulerPlugin.java:110)
    at org.gudy.azureus2.pluginsimpl.local.PluginInitializer.initialisePlugin(PluginInitializer.java:1113)
    at org.gudy.azureus2.pluginsimpl.local.PluginInitializer.initialisePlugins(PluginInitializer.java:983)
    at com.aelitis.azureus.core.impl.AzureusCoreImpl.start(AzureusCoreImpl.java:532)
    at com.aelitis.azureus.ui.swt.Initializer.run(Initializer.java:263)
    at org.gudy.azureus2.ui.swt.mainwindow.Initializer.run(Initializer.java:142)
    at org.gudy.azureus2.ui.swt.mainwindow.SWTThread$2.runSupport(SWTThread.java:146)
    at org.gudy.azureus2.core3.util.AERunnable.run(AERunnable.java:38)
    at java.lang.Thread.run(Thread.java:636)

    Core: 241ms for Initializing Plugin: Speed Scheduler
    Core: 50ms for Initializing Plugin: Tracker Static Pages
    Core: 75ms for Initializing Plugin: BitTorrent IRC Bot Plugin

  11. Funkydruid Says:

    Awesome – installed on VUSE for mac os x running tiger. File menu, install plugins. The ’stop’ downloading bit works, and tomorrow morning I’ll find out if the download during off peak worked…..

    cheers

  12. tigerboy Says:

    Hey what happened to my question about setting download quota schedules as well as just times ?
    Love your product – just interested in your thoughts about this enhancement ?

  13. Dave Says:

    tigerboy: I don’t see your question. Can you repeat it?

  14. Voyd Says:

    You sir, are awesome!

  15. Nick Says:

    Nobody answered Jeremys question on the 4th of July. I have the same problem. Please help.

    “# Jeremy Says:
    July 4th, 2008 at 5:25 pm

    Hey, hope you can help. I’ve used speed scheduler on previous computers but the latest one has Vuze 3.1.1.0 and I’m having trouble working out how to enable speed scheduler. There’s no Plugins menu to select from. I’ve installed using the wizard and it seemed to work now I just need to know how to turn it on!
    Thanks in advance,
    Jeremy”

  16. Dave Says:

    To get to the plugins menu, you first have to go to the “advanced” view. Try that in Vuze.

  17. tigerboy Says:

    Enhance speed scheduler to schedule not only by time but percentage of your allocated download limits.
    For example – If I have an allocation of
    10GB between 0600-2300 and
    10GB between 2300-0600

    Not only do I want to schedule for downloading say between 0100 and 0600 but also want the option to stop downloading when I reach a preset percentage(or actual) of my limit.
    So perhaps I only want to use up 80% of my 10GB so even if its still in the time period the download should stop when it reaches 8GB

  18. h2o Says:

    Hi installed Speed Schedular on Vuze 3.0.4.2, I see plugin installed but I cannot enter the plugin configuration tab even in advanced. The plugin menu does no longer exist as in Azureus. What to do?

  19. Grottitch Says:

    Hi, I’m running Azureus 2.5.0.4 under Ubuntu 8.04 with the SpeedScheduler plugin. I’ve been running it full time for several months without any issue.

    I have just updated to SpeedScheduler 1.5.2. Even though the schedules I have written cover the full 24 hours in a day, none activate. Furthermore when I uncheck “Enable” on the SpeedScheduler plugin page in Azureus, Azureus hangs completely.

    I’ve tried various uninstall restart and reinstall combinations (including installing for all users and installing for this user only).

    WHat am I doing wrong?

    Help…?

  20. jf Says:

    I have exactly same problem as Grottitch. I also notice SAXParseException in logs that may be related, as well as another one, a NoSuchMethodError on getCoreIntParameter which certainly is related.

  21. Dave Says:

    People with the NoSuchMethodError may need to upgrade their Azureus core to the latest version. Let me know if that helps.

  22. clay70 Says:

    Hi, does this work with Mac OSX (10.5.4) and Vuse (3.1.1)? I download SpeedScheduler and install it in the folder suggested but it doesn’t seem to load.

  23. arduintje Says:

    Hi, I’m very glad I found your plugin. It worked very well on my ubuntu 8. But recently there was a new version of SpeedScheduler (1.5.2). This new version just doesn’t do anything. The checkbox “Enable Speedscheduler” is checked. If I try to uncheck it, my azureus needs to be force quit. Is there any way to get the previous version installed? Because that one worked really nicely for me.

    Here is some more information on my system :
    Java 1.6.0_07
    Sun Microsystems Inc.
    SWT v3236, gtk
    Linux v2.6.24-21-generic, i386 (ubuntu 8)

    Azureus version 2.5.0.4

  24. Dave Says:

    You need to upgrade to Azureus 3.x. I plan to remove this restriction in next week’s release.

    –Dave

  25. not another Dave ! Says:

    Hi I never liked Azureus 3 when it was released and went back to 2.6.0.4
    I am wondering if will Speed Scheduler will work on 2.6.0.4 ?

    I notice the comments for people to upgrade to a newer Azureus version
    but I am quite happy with the older Azureus if the current Speed Scheduler version won’t work with it, is there an older version available of the plug in that will ?
    .

  26. Dave Says:

    I will fix it so you don’t have to use Azureus 3. In the mean time, you can manually downgrade to Speed Scheduler 1.4.

  27. jf Says:

    where can I get the 1.4 version?

  28. Dave Says:

    Here’s 1.4. Have fun:

    http://azureus.sourceforge.net/plugins/SpeedScheduler_1.4.jar

    Don’t say I never gave ya nothin’

  29. Grottitch Says:

    Many thanks Dave.

    I should have been able to cure this myself; I just didn’t downgrade far enough.

    Your efforts are much appreciated!

  30. arduintje Says:

    You are the best. Thanks very much.

  31. jf Says:

    1.4 back working fine…geat stuff, thanks.

  32. tigerboy Says:

    Hey Dave see my repost at August 7th, 2008 at 10:48 pm
    regarding schedule a limit by percentage of download quota as well as by time would be ideal….
    I am about to do a download overnight but want to keep some of my 6GB allocation for other stuff but by morning it may have sucked it all up so now way of preserving.

  33. Dave Says:

    tigerboy: that sounds like a different plugin to me.

  34. GP Says:

    Hi Dave and again thanks for the great plugin. Since installing the latest Vuze, I cannot seem to get SpeedScheduler (1.5.2) to do it’s job…

    All seems fine, the 2 schedules (the same I’ve always had since pre-Vuze) are set correctly; also, there are no errors initialising the plugin when Vuze starts. The only error I get is initialising “safepeer” (not sure if it means anything).

    Yet, during the times when the schedule should pause all downloads, they are still firing away…

    Any ideas? Thanks in advance for your time.

  35. Dave Says:

    You’re going to have to give me a log so I can see what’s going on.

  36. GP Says:

    Thanx for the reply, Dave… found this SpeedScheduler.log in the relative directory. These are the very last two entries. For your info I have used Vuze a few times since these dates, but there seems to be no record of it.

    – - – SpeedScheduler Logger initialized. – - –

    Jul 30, 2008 10:05:14 AM|2nd PluginInitializer Thread|Loading scheduled from ‘C:\Program Files\Azureus\plugins\SpeedScheduler\SavedSchedules.xml’

    – - – SpeedScheduler Logger initialized. – - –

    Aug 22, 2008 6:50:13 AM|Main Thread|Loading scheduled from ‘C:\Program Files\Azureus\plugins\SpeedScheduler\SavedSchedules.xml’

    Nothing else following this line. Is this of any help to you to troubleshoot my issue?

    Ta!

  37. GP Says:

    Sorry forgot to mention I did disable both schedules around the end of August as I was well below my quotas and was not downloading a whole lot. I only re-enabled the schedules today, but they just don’t seem to make any difference.

  38. Dave Says:

    Can you put it in debug log mode for me? It should be somewhere under plugin options (I don’t use Vuze so I don’t know for sure).

  39. GP Says:

    Well well… here are snippets of the very long debug log. First few lines:

    ——————-

    – - – SpeedScheduler Logger initialized. – - –

    Sep 11, 2008 9:11:48 AM|SpeedScheduler|SpeedSchedulerThread looping (we are enabled)…
    Sep 11, 2008 9:11:48 AM|SpeedScheduler|
    Current time: 09:11
    Sep 11, 2008 9:11:48 AM|SpeedScheduler|Current day: 4
    Sep 11, 2008 9:11:48 AM|SpeedScheduler| Thread analyzing schedule: Up: Unlimited, Down: Downloads paused, Days: Everyday, Times: 00:00 – 02:00, Enabled: true
    Sep 11, 2008 9:11:48 AM|SpeedScheduler| Current day/time is NOT in this schedule.
    Sep 11, 2008 9:11:48 AM|SpeedScheduler| Thread analyzing schedule: Up: Unlimited, Down: Downloads paused, Days: Everyday, Times: 12:00 – 23:59, Enabled: true
    Sep 11, 2008 9:11:48 AM|SpeedScheduler| Current day/time is NOT in this schedule.
    Sep 11, 2008 9:11:48 AM|SpeedScheduler|Not notifying schedule selection listeners, since the schedules chosen did not change.
    Sep 11, 2008 9:11:48 AM|SpeedScheduler|wePausedDownload( org.gudy.azureus2.pluginsimpl.local.download.DownloadImpl@12c4c57 )
    ————————————–

    These lines get repeated over and over again.

    I think I know what may be happening, Dave. Not sure where SS gets the time from but the time listed in the log is wrong: my system is on Australian WST time (it’s gone 10pm) and it’s not even using GMT (it’s past 14:00). The logging time falss within the “allowed times” per my schedule, and that’s what causing it not to pause the downloads!

    Can you help?

  40. GP Says:

    Just a note, I use XP Pro SP3 and the “tz” fix suggested in the FAQ does not work: SS still shows North American time (GMT-5) Chicago CDT. A bit lost here downunder…

  41. Dave Says:

    GP: Sorry to say that Java is a crappy programming language for handling dates and times on disparate systems, so you’re on your own for this one. Let us know if you figure it out.

  42. Dave Says:

    I’ve finished work on Speed Scheduler version 1.6.0 that adds support for the built in Auto Speed feature of Azureus and also brings back support for Azureus version 2.5. It’s in beta now, so if you’d like to test it, that would be appreciated. Download it here.

    Thanks!

  43. Darin Says:

    I have installed 1.6.0 beta version and so has a friend, so far so good. Both of us are running Ubuntu 8.04, Azureus 2.5.0.4.

    Thanks very much for your hard work

    Cheers!

  44. Chris Says:

    Hi Dave

    Have used speed scheduler before and loved it. I just downloaded a copy to plugin to the updated vuze. I have had a couple of problems with time though as it is not picking up my local time in Sydney. Any ideas?

    Thanks
    Chris

  45. Dave Says:

    For those that are watching this article, I just released version 1.6.0 of Speed Scheduler which should patch things up for most of you.

  46. Chris Says:

    I am running version 1.6 now in console mode. Since the upgrade, Azureus doesn’t obey my “maximum upload speed” setting anymore. I can change it but the plugin resets it back to 0 (maximum) pretty much immediately. I have only one rule to pause all activity during a certain time, and outside of that time, the plugin does that. If I disable the plugin everything is back to normal. Have to look for an older version now…

  47. griffmiester Says:

    Hi Dave,
    Is Speed Scheduler going to work with Vuze 4.0? It doesn’t seem to have the option to install plugins with the new version.

    griffmiester

  48. Darren Says:

    Hi Dave,
    I’ve just upgraded to Vuze 4.0 and I no longer have a config tab under plugins to view or enable my schedules. I’m running Speed Scheduler 1.6 and have tried uninstalling and reinstalling but it doesn’t seem to help.
    Vuze tells me SS is running but I still can’t see to configure it.

  49. Darren Says:

    Ok I’ve solved my own problem. I have gone back to the using the old (and better) UI under Vuze ver 4.0 and Speed Scheduler works fine now.

  50. Ed Says:

    i updated to Vuze 4 and the scheduler doesn’t work now. :\
    Any suggestions?

  51. Dave Says:

    Ed: Can you post the error message you are getting?

  52. Ed Says:

    Dave: non. looks all fine but i have it to pause at certain hour and it just keeps on downloading and uploading…

  53. Ed Says:

    oh just in case. Vuze 4 on Leopard…

  54. Dave Says:

    Ed: Could you turn on logging and see what happens at the appointed time when it fails to start/stop downloading?

  55. Ed Says:

    hmmm weird… i turned on the logging, and re-edit the schedule (so i would show log the error right away and now it works) :| maybe it needed to be re-edited after the upgrade to vuze 4. well thanks anyway. ;)

  56. Alex Samad Says:

    Hi

    Great plugin, i have moved to a isp which has the on peak/ off peak limits and time.

    So I have limited my general download/upload to 16Kb/s. Then created a rule that say 245KB up/dl from 4am-9am. and the last rule, that says all day allow unlimited up/dl but only for torrents in category “must have”.

    But it doesn’t seem to be working, when I enable the unlimited, everything get unlimited :(. I believe I have 1.6.0

  57. DaveW Says:

    Hi. I’ve been using the scheduler for ages with no problem, great plug-in, but since we upgraded to Vuze 4, it doesn’t seem to work at all. Like Ed says above, everything looks fine – the green tick appears on the schedule as if it’s enabled, but there’s no change to the download speed. I’ve switchedon logging as you suggested to Ed, but not sure exactly how to read logs. (My son’s the computer whiz, and he’s moved away!) I’m running XP. Should I reinstall it?

  58. DaveW Says:

    PS – it’s version 1.6.0

  59. Ben Says:

    Speed Scheduler doesnt work anymore

    Pitty, it was a pretty good plug-in

    Hopefully someday someone can write a new one.

  60. Dave Says:

    Ben, it’s pretty presumptuous to assume that Speed Scheduler can’t be easily updated to work with the new Vuze versions. I’m just waiting for someone to volunteer since I don’t have that version of Vuze.

  61. Stevo Says:

    I have installed this plugin version 1.6.0 on Vuze version 4.0.0.2 and it works perfectly. Thank you so much for a great working plugin!

  62. pras Says:

    Hi Stevo,

    so far i know, although you install ver 4.0.0.2, vuze will update to the newest version automatically, i mean from ver 4.0.0.2 to 4.0.0.4.
    But if your vuze don’t update to the newest version, pls let me know how to make it not to update to the newst version.

  63. Gye Bennetts Says:

    Hi Dave,

    I have Vuze 4.0.0.4 and it says S.S. V 1.3 but apparently it is 1.6. I have the latest Java version and I cant set a schedule. The”New Schedule” button does not do anything. Any help appreciated,
    Thanks for your work,

    Gye

  64. pras Says:

    Hi dave,

    I still have a problem with speed scheduler 1.6.0, my vuze version is 4.0.0.4. (I downloaded it form its website). I have disabled the automatic speed in vuze option. But I still found that vuze still download with unlimited speed. It look like disobey the speed scheduler. What I have to do to fix the problem?

  65. rob Says:

    I have the same problem as pras

  66. pras Says:

    Hi Dave,

    I really disappointed with vuze, because it can’t work with speed scheduler when it upgrades to the newest version. I believe you’ve worked as best as you can. For me the program like speed scheduler plays very vital role, there’s time that we can set the client to unlimited rate, but also there’s time that we have to set the rate to limited value because we have to share the bandwidth with others, especially in working hours at the office. Now I would like to know if you also develop the time scheduler program for other torrent client and work well.
    Since vuze can’t work anymore with speed scheduler I think I have to seek another client program that work perfectly with the program like speed scheduler. And if anybody in this forum know the best alternative, please let me know…

    best regards,

    pras

    thx

  67. Dave Says:

    I just tried Vuze 4.0.0.4 and Speed Scheduler version 1.6 works fine for me. If you are having a problem, maybe I can fix Speed Scheduler for you, but you’ll need to give me a detailed log. To create a log file, do this:

    1. Go turn on “Debug” logging under Tools -> Options -> Plugins -> Speed Scheduler.
    2. In that same place, enter the file name for a log file.
    3. Restart Vuze
    4. Run Speed Scheduler and wait for the problem to happen.
    5. Post the last few lines of the log file here and I’ll do my best to help you.

    Good luck!

  68. pras Says:

    Hi Dave,
    Here it’s the content of the log file. I set DL = 6kB/s and UL = 9 kB/s, but vuze still download and upload more than these value, even it still can download at 20 KB/s.

    best regards

    pras

    – - – SpeedScheduler Logger initialized. – - –

    Dec 9, 2008 9:31:54 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:31:54 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:31:55 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:31:55 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:31:56 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:31:56 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:31:57 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:31:57 AM|MainRunner|SpeedSchedulerView.editScheduleEvent()
    Dec 9, 2008 9:31:57 AM|MainRunner|ScheduleEditDialog.construct( Up: , Down: All transfers paused, Days: Tuesday through Friday, Times: 8:30 am – 10:00 pm, Enabled: true )
    Dec 9, 2008 9:31:57 AM|MainRunner|ScheduleEditDialog.open() – Up: , Down: All transfers paused, Days: Tuesday through Friday, Times: 8:30 am – 10:00 pm, Enabled: true
    Dec 9, 2008 9:31:57 AM|MainRunner|ImageUtils.getImage( org.eclipse.swt.widgets.Display@13829d5, class speedscheduler.ScheduleEditDialog, schedule.png )
    Dec 9, 2008 9:31:57 AM|MainRunner| Drawing labels…
    Dec 9, 2008 9:31:57 AM|MainRunner| Drawing the schedule edit composite…
    Dec 9, 2008 9:31:57 AM|MainRunner|ScheduleEditComposite.construct()
    Dec 9, 2008 9:31:57 AM|MainRunner| Drawing the TransferConfigurationComposite.
    Dec 9, 2008 9:31:57 AM|MainRunner|TransferConfigurationComposite.construct() 0, 0
    Dec 9, 2008 9:31:57 AM|MainRunner| Drawing the checkbox and input boxen.
    Dec 9, 2008 9:31:57 AM|MainRunner|IntegerInput.constructor()
    Dec 9, 2008 9:31:57 AM|MainRunner|
    Dec 9, 2008 9:31:57 AM|MainRunner|IntegerVerifyListener.verifyText()
    Dec 9, 2008 9:31:57 AM|MainRunner| Time:319275718
    Dec 9, 2008 9:31:57 AM|MainRunner| this.input:4977093
    Dec 9, 2008 9:31:57 AM|MainRunner| Widget: Text {}
    Dec 9, 2008 9:31:57 AM|MainRunner| Text: “0″
    Dec 9, 2008 9:31:57 AM|MainRunner| Start:0
    Dec 9, 2008 9:31:57 AM|MainRunner| End:1
    Dec 9, 2008 9:31:57 AM|MainRunner| Mask:0
    Dec 9, 2008 9:31:57 AM|MainRunner| Character:
    Dec 9, 2008 9:31:57 AM|MainRunner| Keycode:0
    Dec 9, 2008 9:31:57 AM|MainRunner|IntegerInput.constructor()
    Dec 9, 2008 9:31:57 AM|MainRunner|
    Dec 9, 2008 9:31:57 AM|MainRunner|IntegerVerifyListener.verifyText()
    Dec 9, 2008 9:31:57 AM|MainRunner| Time:319275718
    Dec 9, 2008 9:31:57 AM|MainRunner| this.input:32362010
    Dec 9, 2008 9:31:57 AM|MainRunner| Widget: Text {}
    Dec 9, 2008 9:31:57 AM|MainRunner| Text: “0″
    Dec 9, 2008 9:31:57 AM|MainRunner| Start:0
    Dec 9, 2008 9:31:57 AM|MainRunner| End:1
    Dec 9, 2008 9:31:57 AM|MainRunner| Mask:0
    Dec 9, 2008 9:31:57 AM|MainRunner| Character:
    Dec 9, 2008 9:31:57 AM|MainRunner| Keycode:0
    Dec 9, 2008 9:31:57 AM|MainRunner| Done with TransferConfigurationComposite.
    Dec 9, 2008 9:31:57 AM|MainRunner| Drawing the DayOfWeekComposite.
    Dec 9, 2008 9:31:57 AM|MainRunner|DayOfWeekComposite.construct()
    Dec 9, 2008 9:31:57 AM|MainRunner|DayOfWeekComposite.initializeSelectedDays()
    Dec 9, 2008 9:31:57 AM|MainRunner| Done initializing selected days.
    Dec 9, 2008 9:31:57 AM|MainRunner| Setting up layouts.
    Dec 9, 2008 9:31:57 AM|MainRunner| Creating “Days: ” label
    Dec 9, 2008 9:31:57 AM|MainRunner| Setting up checkboxes.
    Dec 9, 2008 9:31:57 AM|MainRunner|DayOfWeekComposite.createDayOfWeekCheckbox( 0 )
    Dec 9, 2008 9:31:57 AM|MainRunner|DayOfWeekComposite.createDayOfWeekCheckbox( 1 )
    Dec 9, 2008 9:31:57 AM|MainRunner|DayOfWeekComposite.createDayOfWeekCheckbox( 2 )
    Dec 9, 2008 9:31:57 AM|MainRunner|DayOfWeekComposite.createDayOfWeekCheckbox( 3 )
    Dec 9, 2008 9:31:57 AM|MainRunner|DayOfWeekComposite.createDayOfWeekCheckbox( 4 )
    Dec 9, 2008 9:31:57 AM|MainRunner|DayOfWeekComposite.createDayOfWeekCheckbox( 5 )
    Dec 9, 2008 9:31:57 AM|MainRunner|DayOfWeekComposite.createDayOfWeekCheckbox( 6 )
    Dec 9, 2008 9:31:57 AM|MainRunner| Drawing the HourSpanComposite.
    Dec 9, 2008 9:31:57 AM|MainRunner|DayOfWeekComposite.construct()
    Dec 9, 2008 9:31:57 AM|MainRunner| Drawing the Category.
    Dec 9, 2008 9:31:57 AM|MainRunner|CatComposite.construct()
    Dec 9, 2008 9:31:57 AM|MainRunner| Done constructing the ScheduleEditComposite.
    Dec 9, 2008 9:31:57 AM|MainRunner| Drawing OK/Cancel buttons…
    Dec 9, 2008 9:31:57 AM|MainRunner| Packing and Opening…
    Dec 9, 2008 9:31:57 AM|MainRunner| Entering event loop…
    Dec 9, 2008 9:31:57 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:31:58 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:31:58 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:31:59 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:31:59 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:00 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:00 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:01 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:01 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:02 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:02 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:03 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:03 AM|MainRunner|
    Dec 9, 2008 9:32:03 AM|MainRunner|IntegerVerifyListener.verifyText()
    Dec 9, 2008 9:32:03 AM|MainRunner| Time:319281703
    Dec 9, 2008 9:32:03 AM|MainRunner| this.input:32362010
    Dec 9, 2008 9:32:03 AM|MainRunner| Widget: Text {}
    Dec 9, 2008 9:32:03 AM|MainRunner| Text: “6″
    Dec 9, 2008 9:32:03 AM|MainRunner| Start:0
    Dec 9, 2008 9:32:03 AM|MainRunner| End:1
    Dec 9, 2008 9:32:03 AM|MainRunner| Mask:0
    Dec 9, 2008 9:32:03 AM|MainRunner| Character:6
    Dec 9, 2008 9:32:03 AM|MainRunner| Keycode:54
    Dec 9, 2008 9:32:03 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:04 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:04 AM|MainRunner|IntegerInput.getValue()
    Dec 9, 2008 9:32:04 AM|MainRunner|IntegerInput.getValue()
    Dec 9, 2008 9:32:04 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:05 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:05 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:06 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:06 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:07 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:07 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:08 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:08 AM|MainRunner|
    Dec 9, 2008 9:32:08 AM|MainRunner|IntegerVerifyListener.verifyText()
    Dec 9, 2008 9:32:08 AM|MainRunner| Time:319286687
    Dec 9, 2008 9:32:08 AM|MainRunner| this.input:4977093
    Dec 9, 2008 9:32:08 AM|MainRunner| Widget: Text {}
    Dec 9, 2008 9:32:08 AM|MainRunner| Text: “9″
    Dec 9, 2008 9:32:08 AM|MainRunner| Start:0
    Dec 9, 2008 9:32:08 AM|MainRunner| End:1
    Dec 9, 2008 9:32:08 AM|MainRunner| Mask:0
    Dec 9, 2008 9:32:08 AM|MainRunner| Character:9
    Dec 9, 2008 9:32:08 AM|MainRunner| Keycode:57
    Dec 9, 2008 9:32:08 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:09 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:09 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:10 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:10 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:11 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:11 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:12 AM|MainRunner|IntegerInput.getValue()
    Dec 9, 2008 9:32:12 AM|MainRunner|IntegerInput.getValue()
    Dec 9, 2008 9:32:12 AM|MainRunner|IntegerInput.getValue()
    Dec 9, 2008 9:32:12 AM|MainRunner|IntegerInput.getValue()
    Dec 9, 2008 9:32:12 AM|MainRunner|ScheduleEditComposite.open() returning: Up: 9 kbytes/sec, Down: 6 kbytes/sec, Days: Tuesday through Friday, Times: 8:30 am – 10:00 pm, Enabled: true
    Dec 9, 2008 9:32:12 AM|MainRunner|XmlScheduleIO.saveSchedules() — Writing XML:

    Dec 9, 2008 9:32:12 AM|MainRunner|SpeedSchedulerThread.schedulesChanged()
    Dec 9, 2008 9:32:12 AM|MainRunner| new default up rate: 0
    Dec 9, 2008 9:32:12 AM|MainRunner| new default down rate: 0
    Dec 9, 2008 9:32:12 AM|MainRunnerDec 9, 2008 9:32:12 AM|SpeedScheduler|SpeedSchedulerThread interrupted.
    |SpeedSchedulerView.refreshScheduleTable()
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|Built-in auto-speed enabled:
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|SpeedSchedulerThread looping (we are enabled)…
    Dec 9, 2008 9:32:12 AM|MainRunner| Drawing Schedule: Up: 9 kbytes/sec, Down: 6 kbytes/sec, Days: Tuesday through Friday, Times: 8:30 am – 10:00 pm, Enabled: true
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|
    Current time: 9:32 am
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|Current day: 2
    Dec 9, 2008 9:32:12 AM|MainRunner|Schedule.equals()
    Dec 9, 2008 9:32:12 AM|SpeedScheduler| Thread analyzing schedule: Up: 9 kbytes/sec, Down: 6 kbytes/sec, Days: Tuesday through Friday, Times: 8:30 am – 10:00 pm, Enabled: true
    Dec 9, 2008 9:32:12 AM|MainRunner| returning false (mismatched time or rate).
    Dec 9, 2008 9:32:12 AM|SpeedScheduler| Current day/time IS in this schedule!
    Dec 9, 2008 9:32:12 AM|MainRunner| Setting image: watchImage.
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|Schedule.equals()
    Dec 9, 2008 9:32:12 AM|SpeedScheduler| returning true (same ref).
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|Schedule.equals()
    Dec 9, 2008 9:32:12 AM|SpeedScheduler| returning false (mismatched time or rate).
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|SpeedSchedulerThread.notifyScheduleSelectionListeners( [Up: 9 kbytes/sec, Down: 6 kbytes/sec, Days: Tuesday through Friday, Times: 8:30 am - 10:00 pm, Enabled: true] )
    Dec 9, 2008 9:32:12 AM|SpeedScheduler| Notifying listener.
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|SpeedSchedulerView.scheduleSelectionChanged( [Up: 9 kbytes/sec, Down: 6 kbytes/sec, Days: Tuesday through Friday, Times: 8:30 am - 10:00 pm, Enabled: true] )
    Dec 9, 2008 9:32:12 AM|SpeedScheduler| Old activate schedules: [Up: , Down: All transfers paused, Days: Tuesday through Friday, Times: 8:30 am - 10:00 pm, Enabled: true]
    Dec 9, 2008 9:32:12 AM|SpeedScheduler| Newly activated schedules: [Up: 9 kbytes/sec, Down: 6 kbytes/sec, Days: Tuesday through Friday, Times: 8:30 am - 10:00 pm, Enabled: true]
    Dec 9, 2008 9:32:12 AM|SpeedScheduler| Redrawing schedules…
    Dec 9, 2008 9:32:12 AM|SpeedScheduler| Notified 1 listeners.
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|wePausedDownload( org.gudy.azureus2.pluginsimpl.local.download.DownloadImpl@128635 )
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|getPausedDownloadsFile( )
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|Comparing two hashes:
    Dec 9, 2008 9:32:12 AM|SpeedScheduler| A match!
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|Returning true!
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|unPauseDownload( org.gudy.azureus2.pluginsimpl.local.download.DownloadImpl@128635 )
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|removePausedDownload( org.gudy.azureus2.pluginsimpl.local.download.DownloadImpl@128635 )
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|getPausedDownloadsFile( )
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|getPausedDownloadsFile( )
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|wePausedDownload( org.gudy.azureus2.pluginsimpl.local.download.DownloadImpl@292cb2 )
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|getPausedDownloadsFile( )
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|Comparing two hashes:
    Dec 9, 2008 9:32:12 AM|SpeedScheduler| A match!
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|Returning true!
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|unPauseDownload( org.gudy.azureus2.pluginsimpl.local.download.DownloadImpl@292cb2 )
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|removePausedDownload( org.gudy.azureus2.pluginsimpl.local.download.DownloadImpl@292cb2 )
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|getPausedDownloadsFile( )
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|getPausedDownloadsFile( )
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|Built-in auto-speed enabled:
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|Current upload rate: 0
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|Built-in auto-speed enabled:
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|SpeedScheduler: Changing upload rate to 9
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|Built-in auto-speed enabled:
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|Current download rate: 300
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|SpeedScheduler: Changing download rate to 6
    Dec 9, 2008 9:32:12 AM|SpeedScheduler|Dec 9, 2008 9:32:12 AM|MainRunner|SpeedSchedulerView.refresh()
    SpeedSchedulerThread looping…
    Dec 9, 2008 9:32:12 AM|MainRunner|SpeedSchedulerView.refreshScheduleTable()
    Dec 9, 2008 9:32:12 AM|MainRunner| Drawing Schedule: Up: 9 kbytes/sec, Down: 6 kbytes/sec, Days: Tuesday through Friday, Times: 8:30 am – 10:00 pm, Enabled: true
    Dec 9, 2008 9:32:12 AM|MainRunner|Schedule.equals()
    Dec 9, 2008 9:32:12 AM|MainRunner| returning true (same ref).
    Dec 9, 2008 9:32:12 AM|MainRunner| Setting image: checkImage.
    Dec 9, 2008 9:32:12 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:13 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:13 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:14 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:14 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:15 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:15 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:16 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:16 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:17 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:17 AM|MainRunner|SpeedSchedulerView.refresh()
    Dec 9, 2008 9:32:18 AM|MainRunner|SpeedSchedulerView.delete()

    – - – SpeedScheduler Logger initialized. – - –

    Dec 9, 2008 9:32:41 AM|Main Thread|SpeedSchedulerThread.construct()
    Dec 9, 2008 9:32:41 AM|Main Thread|SchedulePersistencyManager.construct()
    Dec 9, 2008 9:32:42 AM|Main Thread|Loading scheduled from ‘C:\Program Files\Vuze\plugins\SpeedScheduler_1.6.0\SavedSchedules.xml’
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( SpeedScheduler )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( defaultRates )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread| 0. upload: 0
    Dec 9, 2008 9:32:42 AM|Main Thread| 1. download: 0
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: defaultRates
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( schedules )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( schedule )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread| 0. enabled: true
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( startTime )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread| 0. hour: 8
    Dec 9, 2008 9:32:42 AM|Main Thread| 1. minute: 30
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: startTime
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( endTime )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread| 0. hour: 22
    Dec 9, 2008 9:32:42 AM|Main Thread| 1. minute: 0
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: endTime
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( rates )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread| 0. upload: 9
    Dec 9, 2008 9:32:42 AM|Main Thread| 1. download: 6
    Dec 9, 2008 9:32:42 AM|Main Thread| 2. pauseDownloads: false
    Dec 9, 2008 9:32:42 AM|Main Thread| 3. pauseSeeds: false
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: rates
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( days )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( day )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread| 0. index: 0
    Dec 9, 2008 9:32:42 AM|Main Thread| 1. selected: false
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: day
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( day )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread| 0. index: 1
    Dec 9, 2008 9:32:42 AM|Main Thread| 1. selected: false
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: day
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( day )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread| 0. index: 2
    Dec 9, 2008 9:32:42 AM|Main Thread| 1. selected: true
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: day
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( day )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread| 0. index: 3
    Dec 9, 2008 9:32:42 AM|Main Thread| 1. selected: true
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: day
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( day )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread| 0. index: 4
    Dec 9, 2008 9:32:42 AM|Main Thread| 1. selected: true
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: day
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( day )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread| 0. index: 5
    Dec 9, 2008 9:32:42 AM|Main Thread| 1. selected: true
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: day
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( day )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread| 0. index: 6
    Dec 9, 2008 9:32:42 AM|Main Thread| 1. selected: false
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: day
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: days
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( category )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread| 0. selected: Uncategorized
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: category
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.startElement( catSelection )
    Dec 9, 2008 9:32:42 AM|Main Thread| attributes:
    Dec 9, 2008 9:32:42 AM|Main Thread| 0. not_in: false
    Dec 9, 2008 9:32:42 AM|Main Thread| 1. in: false
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: catSelection
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: schedule
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: schedules
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.endElement()
    Dec 9, 2008 9:32:42 AM|Main Thread| localName: SpeedScheduler
    Dec 9, 2008 9:32:42 AM|Main Thread|Done parsing. Schedules: null, upload: 0, download: 0
    Dec 9, 2008 9:32:42 AM|Main Thread|ScheduleHandler.getSchedules()
    Dec 9, 2008 9:32:42 AM|Main Thread| Returning vector of size 1
    Dec 9, 2008 9:32:42 AM|Main Thread|SchedulePersistencyManager.getInstance()
    Dec 9, 2008 9:32:42 AM|Main Thread|SchedulePersistencyManager.addScheduleChangeListener()
    Dec 9, 2008 9:32:42 AM|SpeedScheduler|SpeedSchedulerThread looping…
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|Built-in auto-speed enabled:
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|SpeedSchedulerThread looping (we are enabled)…
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|
    Current time: 9:32 am
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|Current day: 2
    Dec 9, 2008 9:32:43 AM|SpeedScheduler| Thread analyzing schedule: Up: 9 kbytes/sec, Down: 6 kbytes/sec, Days: Tuesday through Friday, Times: 8:30 am – 10:00 pm, Enabled: true
    Dec 9, 2008 9:32:43 AM|SpeedScheduler| Current day/time IS in this schedule!
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|Schedule.equals()
    Dec 9, 2008 9:32:43 AM|SpeedScheduler| returning true (same ref).
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|SpeedSchedulerThread.notifyScheduleSelectionListeners( [Up: 9 kbytes/sec, Down: 6 kbytes/sec, Days: Tuesday through Friday, Times: 8:30 am - 10:00 pm, Enabled: true] )
    Dec 9, 2008 9:32:43 AM|SpeedScheduler| Notified 0 listeners.
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|wePausedDownload( org.gudy.azureus2.pluginsimpl.local.download.DownloadImpl@1f9e31e )
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|getPausedDownloadsFile( )
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|Comparing two hashes:
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|Returning false!
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|wePausedDownload( org.gudy.azureus2.pluginsimpl.local.download.DownloadImpl@adf5be )
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|getPausedDownloadsFile( )
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|Comparing two hashes:
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|Returning false!
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|Built-in auto-speed enabled:
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|Current upload rate: 9
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|Built-in auto-speed enabled:
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|SpeedSchedule: Schedule matches but upload rate already set.
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|Current download rate: 300
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|SpeedScheduler: Changing download rate to 6
    Dec 9, 2008 9:32:43 AM|SpeedScheduler|SpeedSchedulerThread looping…
    Dec 9, 2008 9:32:44 AM|MainRunner|SchedulePersistencyManager.getInstance()
    Dec 9, 2008 9:32:44 AM|MainRunner|SpeedSchedulerView.initialize()
    Dec 9, 2008 9:32:44 AM|MainRunner|SpeedSchedulerView.initView()
    Dec 9, 2008 9:32:44 AM|MainRunner|ImageUtils.getImage( org.eclipse.swt.widgets.Display@3bc1a1, class speedscheduler.SpeedSchedulerView, clock.png )
    Dec 9, 2008 9:32:44 AM|MainRunner|ImageUtils.getImage( org.eclipse.swt.widgets.Display@3bc1a1, class speedscheduler.SpeedSchedulerView, schedule-small.gif )
    Dec 9, 2008 9:32:44 AM|MainRunner|ImageUtils.getImage( org.eclipse.swt.widgets.Display@3bc1a1, class speedscheduler.SpeedSchedulerView, schedule-small-disabled.gif )
    Dec 9, 2008 9:32:44 AM|MainRunner|ImageUtils.getImage( org.eclipse.swt.widgets.Display@3bc1a1, class speedscheduler.SpeedSchedulerView, schedule-small-active.gif )
    Dec 9, 2008 9:32:44 AM|MainRunner|IntegerInput.constructor()
    Dec 9, 2008 9:32:44 AM|MainRunner|
    Dec 9, 2008 9:32:44 AM|MainRunner|IntegerVerifyListener.verifyText()
    Dec 9, 2008 9:32:44 AM|MainRunner| Time:319320500
    Dec 9, 2008 9:32:44 AM|MainRunner| this.input:25559254
    Dec 9, 2008 9:32:44 AM|MainRunner| Widget: Text {}
    Dec 9, 2008 9:32:44 AM|MainRunner| Text: “0″
    Dec 9, 2008 9:32:44 AM|MainRunner| Start:0
    Dec 9, 2008 9:32:44 AM|MainRunner| End:1
    Dec 9, 2008 9:32:44 AM|MainRunner| Mask:0
    Dec 9, 2008 9:32:44 AM|MainRunner| Character:
    Dec 9, 2008 9:32:44 AM|MainRunner| Keycode:0
    Dec 9, 2008 9:32:44 AM|MainRunner|IntegerInput.constructor()
    Dec 9, 2008 9:32:44 AM|MainRunner|
    Dec 9, 2008 9:32:44 AM|MainRunner|IntegerVerifyListener.verifyText()
    Dec 9, 2008 9:32:44 AM|MainRunner| Time:319320500
    Dec 9, 2008 9:32:44 AM|MainRunner| this.input:4587712
    Dec 9, 2008 9:32:44 AM|MainRunner| Widget: Text {}
    Dec 9, 2008 9:32:44 AM|MainRunner| Text: “0″
    Dec 9, 2008 9:32:44 AM|MainRunner| Start:0
    Dec 9, 2008 9:32:44 AM|MainRunner| End:1
    Dec 9, 2008 9:32:44 AM|MainRunner| Mask:0
    Dec 9, 2008 9:32:44 AM|MainRunner| Character:
    Dec 9, 2008 9:32:44 AM|MainRunner| Keycode:0
    Dec 9, 2008 9:32:44 AM|MainRunner|SpeedSchedulerView fetched 1 from persistency manager.
    Dec 9, 2008 9:32:44 AM|MainRunner|SpeedSchedulerView.setAllWidgetsEnabled( true )
    Dec 9, 2008 9:32:44 AM|MainRunner|SpeedSchedulerView.refreshScheduleTable()
    Dec 9, 2008 9:32:44 AM|MainRunner| Drawing Schedule: Up: 9 kbytes/sec, Down: 6 kbytes/sec, Days: Tuesday through Friday, Times: 8:30 am – 10:00 pm, Enabled: true
    Dec 9, 2008 9:32:44 AM|MainRunner| Setting image: watchImage.
    Dec 9, 2008 9:33:43 AM|SpeedScheduler|Built-in auto-speed enabled:
    Dec 9, 2008 9:33:43 AM|SpeedScheduler|SpeedSchedulerThread looping (we are enabled)…
    Dec 9, 2008 9:33:43 AM|SpeedScheduler|
    Current time: 9:33 am
    Dec 9, 2008 9:33:43 AM|SpeedScheduler|Current day: 2
    Dec 9, 2008 9:33:43 AM|SpeedScheduler| Thread analyzing schedule: Up: 9 kbytes/sec, Down: 6 kbytes/sec, Days: Tuesday through Friday, Times: 8:30 am – 10:00 pm, Enabled: true
    Dec 9, 2008 9:33:43 AM|SpeedScheduler| Current day/time IS in this schedule!
    Dec 9, 2008 9:33:43 AM|SpeedScheduler|Schedule.equals()
    Dec 9, 2008 9:33:43 AM|SpeedScheduler| returning true (same ref).
    Dec 9, 2008 9:33:43 AM|SpeedScheduler|Schedule.equals()
    Dec 9, 2008 9:33:43 AM|SpeedScheduler| returning true (same ref).
    Dec 9, 2008 9:33:43 AM|SpeedScheduler|Not notifying schedule selection listeners, since the schedules chosen did not change.
    Dec 9, 2008 9:33:43 AM|SpeedScheduler|Built-in auto-speed enabled:
    Dec 9, 2008 9:33:43 AM|SpeedScheduler|Current upload rate: 9
    Dec 9, 2008 9:33:43 AM|SpeedScheduler|Built-in auto-speed enabled:
    Dec 9, 2008 9:33:43 AM|SpeedScheduler|SpeedSchedule: Schedule matches but upload rate already set.
    Dec 9, 2008 9:33:43 AM|SpeedScheduler|Current download rate: 0
    Dec 9, 2008 9:33:43 AM|SpeedScheduler|SpeedScheduler: Changing download rate to 6
    Dec 9, 2008 9:33:43 AM|SpeedScheduler|SpeedSchedulerThread looping…

  69. Dave Says:

    pras: I don’t see any problems from the log file. Can you tell me exactly what you are doing with Speed Scheduler, and what you expected it to do, and what it actually did instead?

  70. pras Says:

    Hello Dave,

    I expect vuze will download the file at 6 Kb/s and upload at 9Kb/s on working days (monday to friday) from 8:00am to 11:00 pm, out of these time I want vuze downloads and uploads at unlimited Kb/s.
    So I’ve set the DL = 6 Kb/s and UL = 9 Kb/s on monday to friday from 8:00 am to 11:00 pm.
    But in fact when I enable it (speed scheduler) at working hours (8:00 to 11:00) vuze seem still download & upload at unlimited Kb/s. I mean the DL and UL rate still can exceed than I’ve set. It can dowload at 40 Kb/s averagely, and 10 Kb/s when upload.

    Now, for temporary solution I’ve to set the Max Download and Max Upload manually with right click on the torrent file in MyLibrary\downloading\ field and choose the advance menu. And I set the speed scheduler pause the DL and UL activities on monday to friday from 8:00 to 11:00pm.

    So, when I go home from office at 5:00 pm I activate the speed scheduler and that’s mean the DL and UL activity paused antill 11:00 pm. and I also set the Kb/s manually back to unlimited. In this case speed scheduler only have a function to paused the DL and UL job, not download (DL) and upload (UL) at determined Kb/s.

    I hope speed scheduler can make vuze DL and UL automatically with the rule that I’ve made (downloading & uploading at determined Kb/s on determined days at determined hours).

    Btw, I’m sorry if my english is not good, because I am an asian.

    best regards,

    pras

  71. Ben Says:

    It doesnt appear in my pluggins menu.

    Is everybody manually editing the xml file to get it to work.

    It says its installed. But I can’t for the life of me work out how to open it. I used to just go to TOOLS – PLUGINS – SCHEDULER. But this no longer exists in Vuze 4.0.0.4

    I can see it in options – plugins – speed scheduler. I can even change options like the log file.

    But I cant open the scheduling part of it.

  72. crgomo Says:

    Great plugin!! works perfect on my mac version 10.5.6 intel Core 2 Duo.

    It is what I was looking for, great Job, congratulations and many thanks.

  73. Col Says:

    Fantastic plugin. Thanx heaps M8.

  74. John Says:

    Nice plugin, exactly what was needed! Thank you!

    However, unless I am doing something wrong, or missing something, I can’t seem to specify the “pause” times between 11:45am and 01:45am, as my off-peak time is 02:00am to 12:00pm. It complains that the time I’m setting is earlier that the starting time.

    Am I doing something wrong, or working as intended?

    Thanks!

  75. Jean Says:

    Hi Dave,

    When Install says download says installed but then I get a message that says “Unable to load schedules from file. Access is denied. what am I doing wrong?

  76. Andy Vickerstaff Says:

    Hey Dave,
    Awesome plug-in. Many thanks for creating this as I can now avoid the traffic management Virgin Media use during the day and schedule the bulk of my downloads at night.

    I would like to however request a small enhancement.

    Is is possible to make the scheduler sortable either manually or automatically by column or both?

    Anyway, thanks again for such a brilliant plugin.

  77. theigloo Says:

    This is a great plug in, but there is one glitch for me.
    my off peak download time is 3:AM to 10:AM so I need to pause all downloads from 10:AM to 3:AM the next day, when I try to do this I get a error message telling me that the Start time is after end time, any one know how to get around this.
    (I get the feeling I am going to be embarrassed here lol)

  78. theigloo Says:

    Ok its all in the FAQ’s Multiple schedules … simple..:)

  79. Johnno Says:

    Hi there,

    Great plug-in!

    One thing though is I am even though my schedule is set to pause downloads at certain times Azureus is showing an overall download speed around 1kB/s. Which adds up to a fair bit over a month.

    Any ideas?

  80. Kevin Says:

    Thanks you for the plug In, I use it everyday, it allow me to record an intenet stream without any problem, but I want to know, is it possible to had a feature to Speedscheduler, because I think it’s really borring when, like me, you use SpeedScheduler for 3 or 4 hours a day, all the rest of the day, you have to use (and modify) the default speeds of speed scheduler instead of the Vuze one… (whitch is easly to use, from the systray or the bottom-right corner of the Vuze windows)…

    So, can Speedscheduler use the default speeds from Vuze (when no schedule applies of course) ?

  81. Patrick Says:

    I would be interested in this plugin if there was a possibility to quota rather then a speed.

  82. tks Says:

    Having an issue with SpeedScheduler. Getting no suitable parser found on system when azureus loads. Have XML parser installed on system but I think this wants the Java class/library yes?. Using Sun 1.5.x?

    Any help appreciated.

  83. Dave Says:

    tks, which OS are you running? Have you tried Java 1.6?

  84. swan Says:

    win XP x64
    Azureus 4.2.0.4
    SS 1.60

    pauses fine, upload and download limits are ignored

    shame, cant use the plugin until shaper works

  85. B Says:

    Windows Vista
    Vuze 4.2.0.8
    Java version 6, update 13
    SS 1.60

    Upload and download limits are ignored and they are not “bold” when active.

  86. Joe Says:

    Hi,
    I know this is a dumbass question but I can’t figure out how to clease all downloads between 12 pm and 2 am. Keep getting start time is after end time error.

  87. Dave Says:

    Joe,

    Create two schedules. One from 12pm to 11:59pm and another from Midnight to 2am. Both schedules should be setup the same way, to stop downloads.

    See this FAQ for more info: http://thesmithfam.org/blog/azureus-speed-scheduler-faq/#6

    –Dave

  88. Joe Says:

    Thanks Dave.

  89. TyBreaker Says:

    Hi, this was working fine for me under Vista but it complains it can’t access its configuration file in Win7.

  90. Addyboo Says:

    Speed Scheduler does not seem to be working I keep getting an error saying Error Saving new schedule: C:\ProgramFiles\Vuze\plugins\SpeedScheduler\SavedSchedules.xml (Access is denied)
    Can anyone help?

  91. Dave Says:

    Addyboo:

    Either run Vuze as an administrator user, or only install the plugin “For this user only”. Either of those two solutions should fix your problem.

    –Dave

  92. Jen Says:

    Firstly, thanks Dave for creating this awesome plug-in.

    I’m not a techie (I’m not illiterate either) But I am doing something wrong here… I want nothing to download except between the hours of 2am-8am

    PLEASE PLEASE answer these questions :)
    Do I “stop” my downloads & assume they will start during my scheduled time, Or does Speed Scheduler do that for me? Because atm when I add a torrent it immediately begins dloading even though SS is working (I think)

    I couldn’t find an answer online, so I tried stopping all my downloads, hoping they would start during my schedule time- I left my comp on overnight, came back in the morning & nothing had happened…

    If I don’t stop my dloads they’ll download during my Peak time, which is obviously what I’m trying to avoid. So how do I control torrents from downloading straight away?? AND make them dload during offpeak?

    Hope this all makes sense.

    Cheers from Oz
    J

  93. Dave Says:

    Jen

    SS won ‘t restart torrents that you manually stopped yourself. However, it should stop them when you add a torrent during a “no downloads” schedule. It may take a minute, so let it sit for a while before assuming SS did nothing.

    –Dave

  94. Jen Says:

    Thanks Dave.

    I think I understand now. I was running a single schedule only, for unlimited UL/DLs between hours of 2am-8am only.
    I’m now running 3 schedules total (the other 2 being “no transfers” schedules) for all other hours of the day.
    Everything seems to be working now.

    Thanks again
    Jen

  95. Shetty Says:

    Thank you for creating a great piece of software. Has really helped me. I have been using it for more than three years now without any hitches

    Thanks again
    Shetty

  96. Wookie Says:

    Ok fixed the install problem above, I was not installing via Vuze Plugin Installation Wizard (blush).
    Now however whenever I try to create a schedule I get an error stating:
    “Error saving schedule C:\Program Files(x86)\Vuze\plugins\SpeedScheduler\SavedSchedules.xml (Access is denied)”
    and another error message stating:
    “Error loading configured schedules: Access is denied”
    I had Vuze and SpeedScheduler working fine on my previous PC running Windows XP so I am guessing that it is either something to do with the OS or with a setting that I am not adjusting correctly.
    Any advice gratefully accepted thanks :-)

  97. James Says:

    The default speeds are only applied when no other schedules are applied, as it says it will, and when pausing ALL downloads at certain times this works file.

    But when my schedule kicks in to pause all torrents in a specific category, the default speeds are no longer applied to the still running torrents in other categories, this sets upload limit to 0 (unlimited) and makes my net connection unusable.

    How can I set a permanent global upload limit that wont keep getting removed by SS?

  98. James Says:

    * I meant ‘works fine’, ‘not file’ :s

  99. Dave Says:

    James, it’s supposed to work the way you describe. Is something else messing with the upload/download limits, or perhaps have you enabled some other setting so Vuze does?

  100. John Says:

    I’ve been using SS for some time now, great program, however have just reloaded Vuze 4.3..0.6 and managed to get SS 1.6 installed.
    My problem at the mo is that being on bigpond now and having both uploads and downloads totalled in my allocation I need to restrict the uploads when using torrents otherwise most of my allocation goes in uploads.
    SS seems to have loaded okay but when I try to restrict the uploads I get a 2:1 ratio in SS
    Settings at the mo are Max Uload 3 and Max Dload 6 all hours all days.
    While the Uload is what I wanted I would like unlimited Dload (0) but SS wont do this. The Dload reverts to 1:2 Up:Down
    The actual speeds in Vuze are then resricted to those speeds which makes for very slow downloads.
    Can anyone tell me how to increase the Dload to unlimited with the Uload at 3. Are there any settings in Vuze I should alter, etc.
    Any help wouk be appreciated
    Regards
    John

  101. Troy Says:

    Hi Dave.

    Have been successfully using Vuze 4.3.0.6, Java 1.6.0, SS 1.6 and Win7 RC 1 for some time.

    I have been able to manage my downloads as desired, implementing a restricted download speed between 7AM and 11:59PM, unlimited downloads between 12AM and 7AM. I have uploads at unlimited in both schedules.

    My default speeds are both set to unlimited.

    I have problems however when I try to target a specific collection in my downloads. The collection is called Priority, which I’ve tried allowing an unlimited download speed between 7AM and 11:59PM. Anything not in the category Priority I wanted to remain at a restricted speed – 1K.

    I’ve attempted the following schedule configurations:

    1. Created a single schedule setting download limit to unlimited and applying it to torrents just in the category ‘Priority’, and setting the default download limit to 1K failed.
    2. Created two schedules, the first matching that explained in #1, the second setting the download speed to 1K and applied to torrents just in the category ‘unlimited’, and set the default download speed to unlimited failed.
    3. Created a single schedule setting the download to 1K and applying to all torrents not in the ‘Priority’ category failed.
    4. Repeated #3 but set downloads to unlimited and applied to torrents all not in the category ‘unlimited’ failed.

    After each attempt I turned SS off and back on again.

    I’ve tried identifying anything in the logs for azureus, I couldn’t find any entries related to SS. I also looked under Tools – Options – Plugins – SS and there was no option to set logging at a plugin level.

    Can you please assist me in getting targeted download limits to work on specified categories please? Many thanks.

  102. Troy Says:

    An oversight – I observe when having such rules in place a single global speed of 1K overides all rules/desired download speeds for all categories.

  103. Steve Says:

    Hi Dave,

    I love it when my mind is in sync with the greats like your self.

    This morning while i was on the thinking box I was thinking of a download speed scheduler. I imagined it and got an idea of its layout what it could do etc…. and was planning on emailing vuze team to develop it…
    I thought id google before I did and came across your plug in, it is everything I imagined. You made me a very happy nerd.

    So I thank you Dave, you have reached god mode status in the world of useful plugins :D

    Steve

  104. Matt Says:

    Hi, Speed Scheduler is great… thanks! A new feature that would be handy would be a sort of “snooze” function, whereby the user could temporarily bypass the current schedule and set manual up/down speeds, and after say, 15 or 30 minutes, the speeds would go back to the scheduled speeds. This would be better than having to disable Speed Scheduler, and then having to remember to re-enable it later. Thanks! -Matt

  105. Michael Says:

    This is an awesome plugin, don’t suppose you give out the source code for it?

  106. Dave Says:

    Yes, the source is available from the Azureus plugin page. It’s licenses GPL.

Leave a Reply