well really, for me personally and integrating a few ideas for further scheduling requests i think it could be done pretty simply with a few basic commands.
Basics
Queue Begin, inputs: none, returns: fail/success (begins processing the current queue, like the scheduler had started it the same as it does atm)
Queue Halt, inputs: none, returns: fail/success (...)
Upstream Rate, inputs: kbytes/sec ceiling (0 being infinite), returns: fail/success (set upstream ceiling, should be able to do it no matter what state client is in)
Downstream Rate, inputs: kbytes/sec ceiling (0 being infinite), returns: fail/success (...)
Terminate, inputs: +hangup/turnoff/logoff, returns: fail/success (graceful termination of FlashFXP)
Not really required, but could be handy given some of the other requests i see in the forums atm.
Other
Queue Save, inputs: filename - forced overwrite (Y/N), returns:fail/success (overwrites file saving all state queues save atm)
Queue Load, inputs: filename, returns:fail/success (overwrites current queue and idles)
Status Command
Able to retrieve,
Status, input: none, return: Idle/Queue Complete/Queue Failed/Working
BitCount Down, input: none, return: current bit count (basically a counter on how much has been downloaded since init)
BitCount Up, input: none, return: current bit count (...)
I _think_ that would be enough to provide for quite powerful control options, although i've only given this some brief thought atm. Whaddya think?
|