org.cougaar.core.service
Interface SchedulerService

All Superinterfaces:
org.cougaar.core.component.Service, org.cougaar.util.TriggerRegistry

public interface SchedulerService
extends org.cougaar.core.component.Service, org.cougaar.util.TriggerRegistry

This service is used to schedule plugins for thread execution.

The standard scheduler implementation just wraps the ThreadService. An open enhancement request is to port all SchedulerService clients to use the ThreadService directly, making this service obsolete.

See Also:
TriggerRegistry

Method Summary
 org.cougaar.util.Trigger register(org.cougaar.util.Trigger clientTrigger)
          Register a client trigger, returning a "schedulerTrigger" for the client to use.
 void unregister(org.cougaar.util.Trigger schedulerTrigger)
          Release a scheduler Trigger that was generated by register(..)
 

Method Detail

register

org.cougaar.util.Trigger register(org.cougaar.util.Trigger clientTrigger)
Register a client trigger, returning a "schedulerTrigger" for the client to use.

IMPORTANT:
See the notes in TriggerRegistry.register(Trigger) for threading issues.

Specified by:
register in interface org.cougaar.util.TriggerRegistry
Parameters:
clientTrigger - the trigger to run when scheduled
Returns:
a "schedulerTrigger" that the caller can use to tell the scheduler that it wants to be "clientTrigger.trigger()"ed.

unregister

void unregister(org.cougaar.util.Trigger schedulerTrigger)
Release a scheduler Trigger that was generated by register(..).

Specified by:
unregister in interface org.cougaar.util.TriggerRegistry