Package org.apache.storm.scheduler

## Interface INimbus

- All Known Implementing Classes:
    `Nimbus.StandaloneINimbus`

      public interface INimbus

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Collection<WorkerSlot>` | `allSlotsAvailableForScheduling​(Collection<SupervisorDetails> existingSupervisors, Topologies topologies, Set<String> topologiesMissingAssignments)` | Returns all slots that are available for the next round of scheduling.
    `void` | `assignSlots​(Topologies topologies, Map<String,​Collection<WorkerSlot>> newSlotsByTopologyId)` | this is called after the assignment is changed in ZK.
    `IScheduler` | `getForcedScheduler()` |
    `String` | `getHostName​(Map<String,​SupervisorDetails> existingSupervisors, String nodeId)` | map from node id to supervisor details.
    `void` | `prepare​(Map<String,​Object> topoConf, String schedulerLocalDir)` |

- - ### Method Detail

    - #### prepare

          void prepare​(Map<String,​Object> topoConf,
                       String schedulerLocalDir)

    - #### allSlotsAvailableForScheduling

          Collection<WorkerSlot> allSlotsAvailableForScheduling​(Collection<SupervisorDetails> existingSupervisors,
                                                                Topologies topologies,
                                                                Set<String> topologiesMissingAssignments)

      Returns all slots that are available for the next round of scheduling. A slot is available for scheduling if it is free and can be assigned to, or if it is used and can be reassigned.

    - #### assignSlots

          void assignSlots​(Topologies topologies,
                           Map<String,​Collection<WorkerSlot>> newSlotsByTopologyId)

      this is called after the assignment is changed in ZK.

    - #### getHostName

          String getHostName​(Map<String,​SupervisorDetails> existingSupervisors,
                             String nodeId)

      map from node id to supervisor details.

    - #### getForcedScheduler

          IScheduler getForcedScheduler()