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?
		 
		
		
		
		
		
		
		
	 |