Schnittstelle Scheduler.Module

Alle Superschnittstellen:
Lifecycle
Umschließende Schnittstelle:
Scheduler

public static interface Scheduler.Module extends Lifecycle
A scheduler module.
  • Methodendetails

    • setAllocationState

      void setAllocationState(@Nonnull Scheduler.Client client, @Nonnull Set<TCSResource<?>> alloc, @Nonnull List<Set<TCSResource<?>>> remainingClaim)
      Informs this module about a client's current allocation state.
      Parameter:
      client - The client.
      alloc - The client's currently allocated resources.
      remainingClaim - The client's remaining claim.
    • mayAllocate

      boolean mayAllocate(@Nonnull Scheduler.Client client, @Nonnull Set<TCSResource<?>> resources)
      Checks if the resulting system state is safe if the given set of resources would be allocated by the given resource user.
      Parameter:
      client - The ResourceUser requesting resources set.
      resources - The requested resources.
      Gibt zurück:
      true if this module thinks the given resources may be allocated for the given client.
    • prepareAllocation

      void prepareAllocation(@Nonnull Scheduler.Client client, @Nonnull Set<TCSResource<?>> resources)
      Lets this module prepare the given resources so they can be allocated to a client.
      Parameter:
      client - The client the resources are being prepared for.
      resources - The resources to be prepared.
    • hasPreparedAllocation

      boolean hasPreparedAllocation(@Nonnull Scheduler.Client client, @Nonnull Set<TCSResource<?>> resources)
      Checks if this module is done preparing the given resources for a client.
      Parameter:
      client - The client the resources are being prepared for.
      resources - The resources to be checked.
      Gibt zurück:
      true if the resoruces are prepared for a client.
    • allocationReleased

      void allocationReleased(@Nonnull Scheduler.Client client, @Nonnull Set<TCSResource<?>> resources)
      Informs this module about resources being fully released by a client.
      Parameter:
      client - The client releasing the resources.
      resources - The resources being released.